Theories and Frameworks for Ubiquitous Computing Alan Dearle School of Computer Science University of St Andrews
Alan Dearle St Andrews University UK Ubinet/ bath /19 The Gloss Vision In the Gloss project we set out to provide an infrastructure able to offer: –global, –customised, –contextual, –pervasive and –adaptive assistance to mobile users
Alan Dearle St Andrews University UK Ubinet/ bath /19 A simple scenario User Bob likes ice cream, but only when the weather is hot and when he has spare time to eat it It is 20ºC in South Street at on 25/6/2003 Bob is on holiday in St Andrews from 20/6/2003 to 27/6/2003 Bob is Scottish Bob is in North Street at on 25/6/2003 Bob is on foot on 25/6/2003 Janetta’s in Market Street sells ice cream, and is open between 9.00 and Bob knows Anna Anna is at coordinate , at on 25/6/2003
Alan Dearle St Andrews University UK Ubinet/ bath /19 The result.. Service suggests to both Bob and Anna that they might wish to meet for an ice cream at Janetta’s at 16.55
Alan Dearle St Andrews University UK Ubinet/ bath /19 This looks easy but isn’t Performing correlation of information items requires the expression and detection of spatial, temporal and logical relationships It requires the provision of a generic global event service capable delivering events to appropriate locations at appropriate times Engineering of the matching computation is difficult partitioning of computation deployment of components dynamic incorporation and release of resources caching and replication for speed & reliability adaptation to changing patterns of use Huge privacy issues (not discussed here)
Alan Dearle St Andrews University UK Ubinet/ bath /19 Metaphors We developed a number of metaphors to help develop services, to inform design decisions and to understand the problem space: – Trails – Radar – Hearsay In Gloss we used these metaphors to describe a large number of common scenarios Can rephrase the engineering problem in terms of these metaphors
Alan Dearle St Andrews University UK Ubinet/ bath /19 Trails –Observational Trail – Observations of people or artefacts moving through space and time –Intentional Trail – An unordered set of locations, regions or coordinates, with associated information, linked by theme –Archetypal Trail - A route between two Wheres
Alan Dearle St Andrews University UK Ubinet/ bath /19 Radar The Radar metaphor is concerned with the detection of artefacts and people of interest in some geographic vicinity It gives the user an overview beyond the immediate environment. Different forms exist - active and passive May incorporate an event horizon
Alan Dearle St Andrews University UK Ubinet/ bath /19 Hearsay Intuitively Hearsay provides the means for the user to leave and obtain information specific to particular geo- spatial regions, circumstances and personal preferences Two services are required to implement hearsay – placement and delivery The equivalent to leaving Post-It notes for users with a particular profile in a particular location
Alan Dearle St Andrews University UK Ubinet/ bath /19 Architectural Requirements Three architectures are required to implement these services: –Local architectures to permit clients and servers to be constructed –A global architecture to mediate the global flow of information between users, artefacts and service provision points –A distributed matching engine capable of matching events and outputting new events
Alan Dearle St Andrews University UK Ubinet/ bath /19 Local Architectures Design goals: –(try to) abstract over particular implementation technologies –Make components independent of each other –Allow components to be assembled into applications An assembly may be created from a collection of components linked via pipes and busses Alternatively may be constructed using Web Services Middleware such as RAFDA
Alan Dearle St Andrews University UK Ubinet/ bath /19 Global Architecture We need a scalable global architecture on which to deploy services and capable of routing messages to appropriate location(s) We are experimenting with a hierarchy of peers which partition the world into non-overlapping regions This fits well with the region-transition hypothesis – the hierarchy gives a nested set of locations in which a profile may be stored Different cache policies at different levels in the hierarchy is likely to be beneficial
Alan Dearle St Andrews University UK Ubinet/ bath /19 Example - Hearsay delivery One technology mix.. demonstrated at Ubinet Gothenburg
Alan Dearle St Andrews University UK Ubinet/ bath /19 Global Architecture
Alan Dearle St Andrews University UK Ubinet/ bath /19 Real P2P Spanning tree
Alan Dearle St Andrews University UK Ubinet/ bath /19 Global Matching The problem: Assimilating and filtering information from various sources and determining relevant matches Correlating data against some distributed rule base which will determine a meaningful action Very high volume of globally distributed items of information, distilling them down into a relatively small volume of meaningful events
Alan Dearle St Andrews University UK Ubinet/ bath /19 Engineering Hurdles – What we are doing Investigating P2P architectures to distribute events - Siena, Chord and Plaxton Investigated Active Middleware – Amit [IBM Haifa] Adopted an active pipe approach [Keller et al 2001] Investigating component deployment mechanisms …
Alan Dearle St Andrews University UK Ubinet/ bath /19 Component Deployment Mechanisms Require mechanisms to deploy and evolve pipeline components Pipeline components deployed as code bundles that execute within security domain Infrastructure based on Cingal code-push technology Flexibility in initial deployment and in later incremental evolution Use P2P routing to leverage this deployment using Rafda and Asa components Use constraint languages to specify legal deployments
Alan Dearle St Andrews University UK Ubinet/ bath /19 Research Challenges Provision of a generic global event service –delivering events to appropriate locations at appropriate times Engineering of the matching computation –partitioning of computation –deployment of components –dynamic incorporation and release of resources –caching and replication for speed & reliability –techniques for describing and binding to data and events –adaptation to changing patterns of use Ability to incorporate new devices and technologies incrementally