Transcript Document
Component-based Computing implications for Application Architectures Julie A. McCann Imperial College, Department of Computing London UK [email protected] www.doc.ic.ac.uk/~jamm Getting 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 + Jeff’s ADLs = ANS! Components ubicom: J.A.McCann, 2002 2 Phase I To the 3rd wave……. Components ubicom: J.A.McCann, 2002 3 Ubiquitous 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 Components ubicom: J.A.McCann, 2002 focus on HCI focus on security, privacy --> big brother? 4 Components ubicom: J.A.McCann, 2002 5 pervasive 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 Components ubicom: J.A.McCann, 2002 6 What is Pervasive Computing? Technology View User View Computers everywhere – embedded into fridges, washing machines, door locks, cars, furniture, people intelligent environment Mobile portable computing devices Wireless communication – seamless mobile/fixed Invisible – implicit interaction with your environment Augmenting human abilities in context of tasks Ubiquitous = mobile computing + intelligent environment Thanks to M. Sloman for slides Components ubicom: J.A.McCann, 2002 7 Mobility 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 Components ubicom: J.A.McCann, 2002 8 Contents 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 Components ubicom: J.A.McCann, 2002 9 Current Technology Laptop Personal digital assistant (PDA) DoCoMo video phone Mobile phone / PDA http://nooper.co.jp/showcase Thanks to M. Sloman for slides Components ubicom: J.A.McCann, 2002 10 Current Technology 2 Matchbox computer Web Server Best friend Thanks to M. Sloman for slides Components ubicom: J.A.McCann, 2002 11 Wearable Computers Watch phone Components ubicom: J.A.McCann, 2002 WatchThanks camera to M. Sloman for slides 12 Wearable I/O LCD Jacket Thanks to M. Sloman for slides Components ubicom: J.A.McCann, 2002 13 Designer Gear Thanks to M. Sloman for slides Components ubicom: J.A.McCann, 2002 14 Wearable or luggable? See http://wearables.www.media.mit.edu/projects/wearables/mithril/index.html Components ubicom: J.A.McCann, 2002 Thanks to M. Sloman for slides 15 The Whisperer • Convert audio signals to vibrations sent via finger • Send commands by tapping fingers in various rhythms Bluetooth alternative Thanks to M. Sloman for slides Components ubicom: J.A.McCann, 2002 16 Usability 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 Components ubicom: J.A.McCann, 2002 17 Brainwaves! Thanks to M. Sloman for slides Components ubicom: J.A.McCann, 2002 18 Contents 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 Components ubicom: J.A.McCann, 2002 19 Mobile 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 Components ubicom: J.A.McCann, 2002 20 Wireless 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 mobile 114 kbps (vehicle), 384 Kbps (pedestrian), 2 Mbps (stationary) HIPERLAN & IEEE 802.11a 5 Ghz band: currently 20 Mbps eventually 54 Mbps HomeRF derived from DECT 10Mbps InfraRed – direct line of sight: 4Mbs Thanks to M. Sloman for slides Components ubicom: J.A.McCann, 2002 22 Wireless Problems Too many similar standards Shortage of spectrum Use low power + multiple base stations with intelligent antenna. Overlapping spectrum usage can cause interference eg Bluetooth and IEEE 802.11 Unregulated bands lead to chaos Health risks? Thanks to M. Sloman for slides Components ubicom: J.A.McCann, 2002 23 Ad-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_home.html Thanks to M. Sloman for slides Components ubicom: J.A.McCann, 2002 24 Ad-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 apart automatic steering and braking Thanks to M. Sloman for slides Components ubicom: J.A.McCann, 2002 25 Integration of Mobile Systems Not stand alone devices. Systems development Requirements specification for adaptable systems Component composition to meet global QoS, security, reliability & performance requirements. Mobility models Need to interact with complex legacy information systems eg large databases – merging updates, displaying tables etc. Behaviour specification and analysis Modelling context aware systems Interaction paradigms Event-based not object invocation or RPC Thanks to M. Sloman for slides Components ubicom: J.A.McCann, 2002 27 Contents What is pervasive computing Current technology Mobile computing Context adaptation Intelligent environment Adaptive architecure Security, privacy and management Thanks to M. Sloman for slides Components ubicom: J.A.McCann, 2002 28 Context Awareness Context defined by: Current location Need location detection eg GPS or base station Indoors – radio beacon, IR User activity Walking, driving a car, running for a bus – how to detect this? Ambient environment In theatre, alone, in meeting Local resources or services available Device capabilities Screen, input, processing power, battery life …. Current QoS availability – particularly for radio links Thanks to M. Sloman for slides Components ubicom: J.A.McCann, 2002 29 Context Adaptation Server Proxy What: Compression, filtering, devicespecific 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 Thanks to M. Sloman for slides Components ubicom: J.A.McCann, 2002 30 Map Adaptation User context based selection, Activity deadlines QoS & context adaptation, resource monitoring Rich & dynamic data, Structured data + metadata Elements: river, road, motorway, buildings Variants: scale, feature detail, date Dynamic data: road conditions, weather Thanks to M. Sloman for slides Components ubicom: J.A.McCann, 2002 32 Adapting 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 Components ubicom: J.A.McCann, 2002 33 Mobile Medicine Healthcare 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 Components ubicom: J.A.McCann, 2002 34 Contents What is pervasive computing Current technology Mobile computing Context adaptation Intelligent environment Adaptive architecture Security, privacy and management Thanks to M. Sloman for slides Components ubicom: J.A.McCann, 2002 35 Smart 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 < $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/SmartDust/ Thanks to M. Sloman for slides Components ubicom: J.A.McCann, 2002 36 Smart Dust Technology Passive laser reflector Sensor Current state 1999 Near future Thanks to M. Sloman for slides Components ubicom: J.A.McCann, 2002 37 Future 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 < 1c mote www.media.mit.edu/nanomedia Printable batteries http://www.usatoday.com/life/cyber/tech/review/2001-02-12-batteries.htm Thanks to M. Sloman for slides Components ubicom: J.A.McCann, 2002 38 Pervasive 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 Components ubicom: J.A.McCann, 2002 39 Scaling factors > 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? By 2100 …… 94,023 billions per mm2 425,352,958,651, 200,000,000,000,000,000,000,000 Billions of computers Thanks to M. Sloman for slides Components ubicom: J.A.McCann, 2002 40 Intelligent 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 Components ubicom: J.A.McCann, 2002 41 Intelligent 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 Components ubicom: J.A.McCann, 2002 42 Vision 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/ Components ubicom: J.A.McCann, 2002 Thanks to M. Sloman for slides 43 Contents What is pervasive computing Current technology Mobile computing Intelligent environment Adaptive architecture Security, privacy and management Thanks to M. Sloman for slides Components ubicom: J.A.McCann, 2002 44 Adaptive Application Architecure Sensors Clients Components ubicom: J.A.McCann, 2002 Local & Network Intermediate Servers Remote Application Servers Thanks to M. Sloman for slides 45 Policy 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 Components ubicom: J.A.McCann, 2002 46 Policy Based Adaptive Systems Authorisation policies Derived 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 Policies Event-condition-action rules to trigger when to perform actions, what alarms to generate etc Ponder – declarative object-oriented language for specifying policies. See http://www-dse.doc.ic.ac.uk/Research/policies/ Thanks to M. Sloman for slides Components ubicom: J.A.McCann, 2002 47 Example Authorisation Policy inst auth+ facilities { subject guests; target gym + pool; action enter; when time.between (“0900”, “2100”); } Thanks to M. Sloman for slides Components ubicom: J.A.McCann, 2002 48 Example Obligation Policy inst oblig heartmonitor { subject s = medicAgent; on heartanomaly (symptom); action s.display (messages [symptom]) -> send(alarm, symptom); target cardiacCentre; } Thanks to M. Sloman for slides Components ubicom: J.A.McCann, 2002 50 Roles 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 Components ubicom: J.A.McCann, 2002 51 Contents What is pervasive computing Current technology Mobile computing Context adaptation Intelligent environment Adaptive architecture Security, privacy and management Thanks to M. Sloman for slides Components ubicom: J.A.McCann, 2002 52 Security 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 Components ubicom: J.A.McCann, 2002 53 Privacy 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 Components ubicom: J.A.McCann, 2002 54 Management – 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 Components ubicom: J.A.McCann, 2002 55 Management Solutions Policy Intelligent agents, mobile agents, policy QoS Management Adaptive self-management is the only answer Fat pipes and large storage can convert media streams to short traffic bursts in core network but still needed for wireless links 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 Components ubicom: J.A.McCann, 2002 56 Components ubicom: J.A.McCann, 2002 57 Conclusions 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 Components ubicom: J.A.McCann, 2002 58 Phase II What needs to change? Components ubicom: J.A.McCann, 2002 59 Ubicomp 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 Components ubicom: J.A.McCann, 2002 60 Componentisation 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 -> 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) Components ubicom: J.A.McCann, 2002 61 Adaptivity 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. Components ubicom: J.A.McCann, 2002 62 Phase III Proofs of concept Components ubicom: J.A.McCann, 2002 63 A Solution? support improved performance, configurability, flexibility, dynamism, software eng. should be decomposed and support relatively small components Kendra looked at adaptivity performance problems -> course grained components Components = highly adaptive/flexible systems low protection overheads should enable fine -grained protection without sacrificing performance fine-grained componentization paging waste --> 1/2 n P bytes lost to fragmentation n= number of domains, P= page size(bytes) segmentation language independent Components ubicom: J.A.McCann, 2002 64 Go! – 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 Components ubicom: J.A.McCann, 2002 65 Go! Client component Server component call return Components ubicom: J.A.McCann, 2002 ORB 66 Go! Results GTE is Go!’s proof of concept OS Architecture Pentium Pentium Null- RPC 55,000 4,440 Domain Transfer 13,000 _ Mach 2.5 Spring L4 Pebble Go! MIPS SparcStation 2 Pentium MIPS Pentium 3,000 665 73 1,600 880 121 114 29 BSD Xok • good results for other temporal and spatial comparisons Components ubicom: J.A.McCann, 2002 67 Patia: Adaptive Management System for Distributed Webservers Objectives Build adaptive framework to support highperformance distributed webservers Distribution mechanisms Data placement Request scheduling Components ubicom: J.A.McCann, 2002 69 Web presentations can consist of many varying media and technologies often running concurrently. PATIA Stills on a filesystem Document/ Presentations Streaming Media Database data Advertising? Transaction semantics Transaction semantics Chat room server Components ubicom: J.A.McCann, 2002 70 Distributed 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 can’t be reflected (lowers adaptivity) – short TTL doesn’t work as most servers discard low TTLs Components ubicom: J.A.McCann, 2002 71 Distributed Web Servers Dispatcher based distribution (cont) Network component of web server selects node Operates at lower level in protocol stack (advertises single virtualIP 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 Components ubicom: J.A.McCann, 2002 72 Other Distributed Web Servers Content based dispatcher distribution Caching dispatcher distribution Webserver node chosen depends on the TYPE of request sent by client 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 Components ubicom: J.A.McCann, 2002 73 A ppl icati o n S e rv e r 0 A p p lic A Apppl p lic icati o n atio n 1a atio 1a n 1a F L Y e.g . e n v iro n m eDnatab t a se 1n R ep ly A ppl icati o n S e rv e r 1 A p p lic A Apppl p lic icati o n atio n 1a atio 1a n 1a F L Y e.g . e n v iro n m eDnatab t a se 1n C L IE N T R eq u est FLY C o n str u cto r A ppl icati o n P e rfo rm a n c e and e n v iro n m e n t a l d a ta A to m lo c ator Components ubicom: J.A.McCann, 2002 S e rv e r n A p p lic A Apppl p lic icati o n atio n 1a atio 1a n 1a F L Y e.g . e n v iro n m eDnatab t a se 1n 74 E nviro nm e nt M o nitors C ha nge detectio n C o nstraints / S witc hing Ru les C o mp o ne nt A rc h. Im p le m e nta tio n Pla n C ha nge C o mp o ne nt A rc h. M od el A daptivity M a na ger pla n A C ID m a na ge r Components ubicom: J.A.McCann, 2002 75 D ata C o mp o ne nt 1 N Sta ndard M e tadata 1 1 N A daptivity Ru les Components ubicom: J.A.McCann, 2002 N Ve rsio n 76 Constraint: <rule_conditional>| <rule_selection> <rule_ conditional > ::= if <boolean_expression> then <action_sequence> [ else < action _sequence> ] end_rule; <boolean_expression> ::= <resource> <standard_boolean_expression> < action _sequence> ::= < action > [{ ";" < action > }] < action > ::= <instruction> "(" <parameter_sequence> ")" <parameter_sequence> ::= <parameter> [{"," <parameter>}] <instruction> ::= BEST, SWITCH etc.... <resource> ::= PROC_UTIL or BANDWIDTH etc... <standard_boolean_expression> ::= AND, OR, NOT, <, >, etc.... rule_selection::= case resource of { set_expr ":" < action _ sequence >} [ else < action _ sequence > ] end case_rule; Figure 3 BNF format for Adaptivity Rules in Patia Components ubicom: J.A.McCann, 2002 77 F L Y I n i tia l is a t io n F L Y C o ns t ru c to r R es p o ns e to s enctlie nt FLY Y R e q u e s t f ro m F L Y c o n s tr u c to r E xt e r na l A d a p ti v ity M a n a ge r R e q u e s t/ re s p o n s e i nte rfa c e In te r na l m o n ito r S o urc e IP ad d r. P in g H T T P r eq u es t H T T P r es p o ns e req p ar ,a m res p o ns e s P in g r es p o ns e t im e P -p ro b e P -T a b le R u les , N o d es ,no d e I nt er n e t R u les , P in g t im e , p in D a ta req u es t no d e lis t S ta t us , er ro rs A d ap t iv it y r eq u es t R u le E n g i n e N o d e lis t N -p ro b e # 1 A-H T T P req u es t R e s o u rc e s e rv e r M e t ad a t a N -p ro b e # 2 D a tareq u es t M e ta d a ta N -p ro b e # n Ed a ta b a s e S e s s io n m a na ge r R u le E n g i n e Ad a p ti v it y M a n. R u le E n g i n e & C a c he W eb r es o u rc e Web C o nte n t T r ans f er to a no t he r no d e Components ubicom: J.A.McCann, 2002 78 Fire Gawesh and Linxue’s lab Components ubicom: J.A.McCann, 2002 79 ANS 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. Components ubicom: J.A.McCann, 2002 80 ANS cont . Essentially the organic ANS is our body’s 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 Components ubicom: J.A.McCann, 2002 81 Open 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. Components ubicom: J.A.McCann, 2002 82 References 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/ Components ubicom: J.A.McCann, 2002 83