90 likes | 273 Views
Part II : Connectivity Introduction. Max Mühlhäuser & Erwin Aitenbichler. II.0 - Outline: What this chapter covers. General Introduction to Connectivity Connectivity in UC (Ubiquitous Computing) xx Approaches to Connectivity for Ubiquitous Computing xx Overview of Further Chapters
E N D
Part II : ConnectivityIntroduction Max Mühlhäuser & Erwin Aitenbichler
II.0 - Outline: What this chapter covers • General Introduction to Connectivity • Connectivity in UC (Ubiquitous Computing) • xx • Approaches to Connectivity for Ubiquitous Computing • xx • Overview of Further Chapters • Bibliograhical Notes
II.1 General Introduction – Connectivity • Background: Elaborate Disciplines of • Computer Networks: connect computers around the world • Distributed Systems: software infrastructure atop Comp.Nets • what’s the distinction? well… not precicely defined, but: • Dist. Systems establish a level of transparency atop Comp.Nets • … of locations, distribution, concurrency, performance… • A very rough layering may look like this: 6. UC distributed application 5. communication paradigm 4. platform (middleware) distributed system: functionality, services 3. optional: overlay network content/resource distribution 2. Nodes i.e. computers (Resources, OS) 1. “Meshing”
II.1 General Introduction – Connectivity In slide above: • Meshing: how to interconnect adjacent computers • today: mostly wired; since ~1990: shared switched media • Nodes: apart from the mesh, computers are the resources added to system • today: mostly considered homogeneous, except for client/server distinction • today: resources mostly under control of computer owner • Overlay Network - new: ‘socializes’ (some) resources from layer 2 ubiquitous distributed system • today: only used for special purposes (music exchange etc.) • Platform: everything beyond 3 that provides developers with a ‘powerful, easy-to-use’ distributed system • note: layers 3 & 4 use/contain the classical Internet layers TCP/IP etc. • today: mainly ‘sitting on top of’ TCP/IP, two major purposes: • implementing (5) via special protocols & bookkeeping instances • providing basic services deemed useful for many applications/developers • Communication abstraction: crucial for programmers! • today: mainly information pull, client/server paradigm • Distributed applications themselves • today: rather ‘closed’ i.e. developed top-down by a team
II.2 Importance of Connectivity for UC • Slides above show: connectivity is way more than “meshing” • Connectivity is a major scalability issue in UC • Remember Flatland (Intro to part II) mathematical scalability • Also remember: connectivity is major technical scalability issue • As computers become ubiquitous and special purpose,UC developers and applications • … want to draw from their special abilities/‘knowledge’ • need much more open communication paradigms & platforms • … want to draw from the ubiquitous availability of resources • need to move from ‘the net as a universal bit pipe’ to ‘the net as a universal computer’ • … want to reflect the resource heterogeneity • need to integrate very resource-poor nodes – contradicts with resource requirements of today’s platforms • As UC connects to ‘everyday objects’ & ‘everyday humans’ (cf. merging the digital & physical worlds, ‘Realtime Enterprise’ as a precursor) … we want to support new classes of applications: • applications around ‘everyday objects’ (cf. Smart Items) • applications around ‘everyday humans’ (cf. Opportunistic Networks)
II.3 Major Connectivity Approaches for UC Sticking to the 6 layers introduced … : • Meshing in UC: importance of wireless networks ‘explodes’ • mainly because of self-X characteristics (zero configuration etc.) – hardly true today though! • when extrapolating from past, technology does not improve as fast as wired networks (see chapter 1) wired networks will remain important, system architectures have to reflect transition from wired to wireless networks • when will we see the move from shared to switched media? with smart antennas? • competing technologies, yet not all purposes served by wireless net standards (see dedicated chapter) • Nodes: considering the two issues stated above for resources: • for UC, resource heterogeneity will play a major role (mainly in layers 4 & 6) • federated computers (self-contained display + headset + PDA combined ad hoc) and ‘handles’ (smart labels like RFIDs, representing a handle to the ‘digital shadow’ of an everyday object) to be considered as novel classes of nodes • for UC, resource socialization (the net as a universal computer) will be important (see layer 3) • Overlay Network: for UC, their use will evolvefrom ‘special case’ to ‘standard case’ • P2P networks: every participating computer is a “Servent” (client & (resource) server) • Grid networks: users (enterprises) rent fractions of ‘the universal computer’ • plus: overlay network takes over & optimizes ‘content distribution’ for layer 4
II.3 Major Connectivity Approaches for UC Sticking to the 6 layers introduced … : • Platform: compared to today’s middleware, several challenges under UC • accomodation of federated nodes, ‘handles’, of resource heterogeneity: super-lean platforms vs. rich functionality? resource-awareness of service provision within platforms? • zero-effort deployment due to ‘zillions of nodes’ – how to achieve in presence of many, competing middleware systems (N platforms on my smoke detector??), in presence of liability issues? • role of classical UDP/TCP/IP stack: layers 3+4 as described live on top? under/between? aside? • appropriate services (first industry-standard context server? what other UC-specific services needed? which novel development tools / methods / lifecycles?) • scaleable support for communicatino abstractions, in particular: efficient event routing • accomodation of new application classes (for ‘everyday objects’, for ‘everyday humans’) • Communication abstraction: for UC, abstraction evolves ‘pull push’ • dominating push model: event-based communication; issues: • how to make even more scalable(e.g., today no ‘openness’ in terms of foreign components ‘tuning into the event syntax/semantics used in an application joined’) • is it the most appropriate model at all? • how to accommodate emerging bionics/socionics approaches? • need for pull model remains (stateful connection to dedicated peers, media streams …) – how to integrate? • how to ease developer’s live as complexity ‘explodes’ • Distributed applications: for UC, further (exponential!) growth in size, further diversification • size: how to better accommodate openness – provisions in layer 5 sufficient? • accomodation of multimodal interaction (cf. part VI of book/lecture) • size: how to accommodate huge size – in terms of:1) application architectures (way more decentralized!), 2) development tools • diversification: how to support appl. development for ‘everyday humans’ (cf. opportunistic networks) • diversification: how to support appl. development for ‘everyday objects’ (cf. smart items networks) • finally: how to support applications that integrate all of the above
IV.4 Overview of Further Chapters connectivity meshing nodes overlaynetworks Platforms Applications wired, switched homogeneous, private special case pull, closed closed, client/server wireless/ mobile, heterogeneous, shared standard case push, open, scaleable open, huge + everyday humans +everyday objects At the same time: Summary of II.3 general taxonomy of scalability goals wide-spread approaches novel approaches appropriate for UC related book chapters (only major relations depicted) (grey: not in part II) Service Discovery (Chapter 8) Peer-to-Peer Networks (Chapter 12) Wireless & Mobile Communication (Chapter 10) Event-Based & Publish/Subscr. Communication (Chapter 11) Opportunistic Networks (Chapter 13) Smart Items& Smart Environments (Chapter 14)
Bibliography tbd.