Asa MacWilliams Lehrstuhl für Angewandte Softwaretechnik Institut für Informatik, Technische Universität München Feb 6 2004 Ubiquitous.

Slides:



Advertisements
Similar presentations
Jeremy S. Bradbury, James R. Cordy, Juergen Dingel, Michel Wermelinger
Advertisements

References Overview User attention is by far the most precious resource in a world where computational and networking infrastructure is becoming cheaper.
Resonance: Dynamic Access Control in Enterprise Networks Ankur Nayak, Alex Reimers, Nick Feamster, Russ Clark School of Computer Science Georgia Institute.
1 Resonance: Dynamic Access Control in Enterprise Networks Ankur Nayak, Alex Reimers, Nick Feamster, Russ Clark School of Computer Science Georgia Institute.
Resource Management §A resource can be a logical, such as a shared file, or physical, such as a CPU (a node of the distributed system). One of the functions.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Design 2.
Martin Wagner and Gudrun Klinker Augmented Reality Group Institut für Informatik Technische Universität München December 19, 2003.
A survey of techniques for precise program slicing Komondoor V. Raghavan Indian Institute of Science, Bangalore.
THE JINI TECHNOLOGY Alessio Zumbo
GridRPC Sources / Credits: IRISA/IFSIC IRISA/INRIA Thierry Priol et. al papers.
The road to reliable, autonomous distributed systems
Asa MacWilliams Lehrstuhl für Angewandte Softwaretechnik Institut für Informatik Technische Universität München Dec Software.
Aufgabensteller:Prof. Bernd Brügge Ph.D. Prof. Gudrun Klinker Ph.D. Supervisor:Dipl.-Inf. Christian Sandor, Dipl.-Inf. Asa MacWilliams Presenter:Markus.
Variability Oriented Programming – A programming abstraction for adaptive service orientation Prof. Umesh Bellur Dept. of Computer Science & Engg, IIT.
Rheeve: A Plug-n-Play Peer- to-Peer Computing Platform Wang-kee Poon and Jiannong Cao Department of Computing, The Hong Kong Polytechnic University ICDCSW.
A brief look at CORBA. What is CORBA Common Object Request Broker Architecture developed by OMG Combine benefits of OO and distributed computing Distributed.
Presenter : Shih-Tung Huang Tsung-Cheng Lin Kuan-Fu Kuo 2015/6/15 EICE team Model-Level Debugging of Embedded Real-Time Systems Wolfgang Haberl, Markus.
Brent Dingle Marco A. Morales Texas A&M University, Spring 2002
OCT1 Principles From Chapter One of “Distributed Systems Concepts and Design”
A Mobile Agent Infrastructure for QoS Negotiation of Adaptive Distributed Applications Roberto Speicys Cardoso & Fabio Kon University of São Paulo – USP.
Managing Agent Platforms with SNMP Brian Remick Research Proposal Defense June 27, 2015.
Ch 12 Distributed Systems Architectures
16: Distributed Systems1 DISTRIBUTED SYSTEM STRUCTURES NETWORK OPERATING SYSTEMS The users are aware of the physical structure of the network. Each site.
What is adaptive web technology?  There is an increasingly large demand for software systems which are able to operate effectively in dynamic environments.
Safe Dynamic Adaptation Department of Computer Science & Engineering Ji Zhang and Zhenxiao Yang Advisor: Prof. Betty H.C. Cheng Software Engineering and.
Community Manager A Dynamic Collaboration Solution on Heterogeneous Environment Hyeonsook Kim  2006 CUS. All rights reserved.
Overview and Mathematics Bjoern Griesbach
Self-Organizing Agents for Grid Load Balancing Junwei Cao Fifth IEEE/ACM International Workshop on Grid Computing (GRID'04)
Software Architecture Classification for Estimating the Costs of COTS Integration Yakimovich, Bieman, Basili; icse 99.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED.
Application-Layer Anycasting By Samarat Bhattacharjee et al. Presented by Matt Miller September 30, 2002.
M i SMob i S Mob i Store - Mobile i nternet File Storage Platform Chetna Kaur.
A Lightweight Platform for Integration of Resource Limited Devices into Pervasive Grids Stavros Isaiadis and Vladimir Getov University of Westminster
An affinity-driven clustering approach for service discovery and composition for pervasive computing J. Gaber and M.Bakhouya Laboratoire SeT Université.
5.1 Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED.
Lecture 3: Sun: 16/4/1435 Distributed Computing Technologies and Middleware Lecturer/ Kawther Abas CS- 492 : Distributed system.
Master Thesis Defense Jan Fiedler 04/17/98
Wireless Networks of Devices (WIND) Hari Balakrishnan and John Guttag MIT Lab for Computer Science NTT-MIT Meeting, January 2000.
Asa MacWilliams Lehrstuhl für Angewandte Softwaretechnik Institut für Informatik Technische Universität München June 27, 2005 A Decentralized.
Event Management & ITIL V3
BitTorrent enabled Ad Hoc Group 1  Garvit Singh( )  Nitin Sharma( )  Aashna Goyal( )  Radhika Medury( )
Copyright © George Coulouris, Jean Dollimore, Tim Kindberg This material is made available for private study and for direct.
Hybrid Cellular-Ad hoc Data Network Shuai Zhang, Ziwen Zhang, Jikai Yin.
MAPLD Reconfigurable Computing Birds-of-a-Feather Programming Tools Jeffrey S. Vetter M. C. Smith, P. C. Roth O. O. Storaasli, S. R. Alam
Net-Centric Software and Systems I/UCRC A Framework for QoS and Power Management for Mobile Devices in Service Clouds Project Lead: I-Ling Yen, Farokh.
INAT Hari BalakrishnanFrans Kaashoek John Guttag Robert Morris MIT Laboratory for Computer Science NGI PI Meeting October 2, 2000.
The Replica Location Service The Globus Project™ And The DataGrid Project Copyright (c) 2002 University of Chicago and The University of Southern California.
CSC 480 Software Engineering Lecture 18 Nov 6, 2002.
Understanding Code Mobility A Fuggetta, G P Picco and G Vigna Presenter Samip Bararia.
What’s MPEG-21 ? (a short summary of available papers by OCCAMM)
Enterprise Integration Patterns CS3300 Fall 2015.
Jini Architecture Introduction System Overview An Example.
Fundamentals of Ubiquitous Tracking for Augmented Reality Vienna University of Technology Joe Newman, Thomas Pintaric, Dieter Schmalstieg Technische Universität.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
A Roadmap towards Machine Intelligence
GYTE - Bilgisayar Mühendisliği Bölümü Bilgisayar Mühendisliği Bölümü GYTE - Bilgisayar Mühendisliği Bölümü AN ARCHITECTURE FOR NEXT GENERATION MIDDLEWARE.
23/2/2000Status of GAUDI 1 P. Mato / CERN Computing meeting, LHCb Week 23 February 2000.
Providing web services to mobile users: The architecture design of an m-service portal Minder Chen - Dongsong Zhang - Lina Zhou Presented by: Juan M. Cubillos.
Design and implementation of an intentional naming system William Adjie-WinotoElliot Schwartz Hari BalakrishnanJeremy Lilley MIT Laboratory for Computer.
IPS Infrastructure Technological Overview of Work Done.
Architectural Mismatch: Why reuse is so hard? Garlan, Allen, Ockerbloom; 1994.
Statistical process model Workshop in Ukraine October 2015 Karin Blix Quality coordinator
Towards a High Performance Extensible Grid Architecture Klaus Krauter Muthucumaru Maheswaran {krauter,
Inventory of Distributed Computing Concepts and Web services
Patterns.
Analysis models and design models
Utility-Function based Resource Allocation for Adaptable Applications in Dynamic, Distributed Real-Time Systems Presenter: David Fleeman {
3rd Studierstube Workshop TU Wien
Presentation transcript:

Asa MacWilliams Lehrstuhl für Angewandte Softwaretechnik Institut für Informatik, Technische Universität München Feb Ubiquitous Tracking using the DWARF Middleware Ubiquitous Tracking Project Workshop

Feb Ubiquitous Tracking Using the DWARF Middleware Asa MacWilliams, Summary An implementation of the Ubiquitous Tracking concepts needs middleware infrastructure DWARF contains decentralized, adaptive middleware which is well-suited to this task The DWARF middleware can contribute to: –Communication between software components –Discovery of new devices in environment –Configuration and adaptation of components –Formation of data flow networks However, it will need to be extended for –Scalability –Performance –Ad hoc networks

Feb Ubiquitous Tracking Using the DWARF Middleware Asa MacWilliams, Motivation Within the Ubiquitous Tracking project: –Distribution is part of the game –Ad hoc discovery and configuration of trackers –Formation of data flow graph Within the DWARF project: –For ubiquitous AR, we need ubiquitous tracking –Using DWARF in lets us leverage existing components My personal motivation: –DWARF architecture and middleware are basis of my Ph.D. thesis –Ubiquitous tracking is a good application to “harden” the framework and the middleware

Feb Ubiquitous Tracking Using the DWARF Middleware Asa MacWilliams, Data Flow Graph from Spatial Graph From technical report… Every edge q AB in spatial relationship graph must be measured or computed For this, we can set up data flow graph of communicating components Construction of data flow graph is based on attributes

Feb Ubiquitous Tracking Using the DWARF Middleware Asa MacWilliams, Attributes Spatial relationships have attributes –E.g. latency, frequency, cost, confidence, accuracy Two basic assumptions about attributes: –Attributes change “more slowly” than measurements themselves… …thus, it pays off to set up a data flow graph in the background –Attributes of inferred measurements can be described without actually inferring the measurements …thus, we can compare the results of speculative data flow graphs without actual data flow

Feb Ubiquitous Tracking Using the DWARF Middleware Asa MacWilliams, DWARF in Brief Framework for Mobile AR in ubiquitous computing environments Example scenarios: –Navigation (Pathfinder) –Maintenance (TRAMP) –Multi-Player Game (SHEEP) –Collaborative Building Design (ARCHIE) –Medical (HEART)

Feb Ubiquitous Tracking Using the DWARF Middleware Asa MacWilliams, DWARF Consists of Distributed Services During design… …and at run time

Feb Ubiquitous Tracking Using the DWARF Middleware Asa MacWilliams, Services in DWARF Services have Needs and Abilities, which have types Abilities have Attributes, Needs have Predicates. These can be set at runtime. One service’s Needs depend on other services’ Abilities. Distributed CORBA-based Middleware establishes connections for communication between services (management, lookup, connection)

Feb Ubiquitous Tracking Using the DWARF Middleware Asa MacWilliams, Communication mechanisms Needs and Abilities communicate via connectors, which have protocols Connectors so far: –CORBA structured “push” events, using strongly typed data, e.g. struct PoseData { double x,y,z; … } in IDL –CORBA method calls –Shared memory (for local video transfer)

Feb Ubiquitous Tracking Using the DWARF Middleware Asa MacWilliams, Mapping Ubitrack onto DWARF I propose a simplistic mapping: –Data flow components are DWARF Services Trackers, filters, interpolators, extrapolators, inference components… –For each spatial relationship a service can compute, it has one ability of type PoseData –The relationship’s attributes, and the identity of the objects related, are mapped onto the Ability’s attributes –The communication protocol uses CORBA events or CORBA get…() method calls –Components like trackers have other needs, e.g. for configuration or video data …but that isn’t relevant here

Feb Ubiquitous Tracking Using the DWARF Middleware Asa MacWilliams, Starting Services on Demand Some of a service’s attributes are relatively independent of the actual data it processes …thus, we can describe services that are not actually running… …and start them on demand, when they’re needed <service name="OpticalTracker” startCommand="/usr/bin/mytracker Alice.conf”>

Feb Ubiquitous Tracking Using the DWARF Middleware Asa MacWilliams, Dynamic Attribute Changes So far, all attributes were specified in static XML files However, they can be changed at run time as well… –By services e.g. when a tracker recognizes its accuracy is going down (optical tracker in failing light conditions) …Then, the middleware can select a “better” tracker for the application requesting it –And by the middleware depending on other services found in the system according to certain rules …that lets the middleware construct adaptive data flow graphs

Feb Ubiquitous Tracking Using the DWARF Middleware Asa MacWilliams, Binding Attributes: Configuration The attributes of a service’s abilities depends on how its’ needs are satisfied For example, an optical tracker can only detect things it has marker descriptions for For each marker description found, the service gets a new ability The middleware can do this in the background, before an ability is actually requested <service name="OpticalTracker” startCommand="/usr/bin/mytracker Alice.conf”> … <need name="markerData" type="MarkerData" predicate="(Thing=*)"> <attribute name="Thing" value="$(markerData.Thing)">

Feb Ubiquitous Tracking Using the DWARF Middleware Asa MacWilliams, Binding Attributes: Cloning Some services can exist arbitrarily often For example, the Interpolation, Extrapolation, and Filtering components The middleware can instantiate these (“cloning”) in the background, depending on other available services startCommand="/usr/bin/myfilter”> <need name=”input" type=”PoseData" predicate=”(&(Thing=*)(RelativeTo=*) (Jitter>0.2))”…/> <attribute name="Thing" value="$(input.Thing)"> <attribute name="RelativeTo " value="$(input.RelativeTo)"> … <attribute name=”Jitter " value="$(input.Jitter*0.1)"> …

Feb Ubiquitous Tracking Using the DWARF Middleware Asa MacWilliams, Binding Attributes: Cloning (2) The same technique works for the Inference components, too The middleware can instantiate these background, depending on other available services Recursively, this forms chains of services … even forests that grow exponentially startCommand="/usr/bin/myinferrer”> <need name=”input1" type=”PoseData" predicate=”(&(Thing=*)(RelativeTo=*))”…/> <need name=”input2" type=”PoseData" predicate=”(&(Thing=*) (RelativeTo=$(input1.Thing)))”…/> <attribute name="Thing" value="$(input2.Thing)"> <attribute name="RelativeTo " value="$(input1.RelativeTo)"> …

Feb Ubiquitous Tracking Using the DWARF Middleware Asa MacWilliams, Branching and Selection Middleware finds graphs of “potential” services in background When user (or application) requests a particular ability of a particular service, the appropriate chain is started up

Feb Ubiquitous Tracking Using the DWARF Middleware Asa MacWilliams, Adaption: Feedback Loop Feedback loop: –Services change their attributes according to measurements or calculations they make –Depending on the attributes, the middleware constructs data flow graphs –Depending on the data flow graphs, services are reconfigured to make different measurements or to calculate different values Inputs: –the measurements depend on the environment –And the data flow depends on the Needs of the application Such feedback loops can –Adapt to changing circumstances … but also be chaotic and unstable … or end up in degenerate attractors

Feb Ubiquitous Tracking Using the DWARF Middleware Asa MacWilliams, Decentralized Algorithm The proposed algorithm is fairly simple to implement in a distributed fashion –The implementation of the DWARF middleware is based on Service Managers, which run on each computer in the network In fact, the branching of service graphs benefits from distribution Of course, scalability and performance may become issues –“Damping” rules needed to keep service graphs from exploding –Local middleware must react quickly to attribute changes of “relevant” services

Feb Ubiquitous Tracking Using the DWARF Middleware Asa MacWilliams, Implementation Status Binding of attributes works only during cloning –E.g. create new filter for a certain tracker Evaluation of expressions not implemented yet –No “$(myNeed.myAttribute+1)” expressions –Only “Wildcard attributes”: in Need definition; is equivalent to ” Attribute changes of connected services are not propagated Services are not notified when their attributes change Service Managers do not scale well to thousands of services

Feb Ubiquitous Tracking Using the DWARF Middleware Asa MacWilliams, What Needs to be Done Formalize it: –A template service description maps Q onto Q’ Investigate it: –Find set of attributes that can be evaluated decentrally –Test middleware behavior with thousands of service descriptions Implement it: –Implement attribute evaluation scheme –Notify Services of attribute changes –Propagation of attribute changes between service managers Improve current middleware performance: –Better service location: beyond SLP (…) –Colocated communication to improve performance (…)

Feb Ubiquitous Tracking Using the DWARF Middleware Asa MacWilliams, Service Location: Beyond SLP Currently, the service location mechanism uses SLP, which –uses broadcast/multicast queries –supports attributes and boolean predicates –is designed for fairly static services, e.g. printers –could span networks using federated directory agents If we had an implementation of that What else could we use? –Multicast DNS: announcements, but no boolean predicate support –Implement some peer-to-peer resource finding algorithm using distributed indexes –Perhaps implement an own SLP directory agent

Feb Ubiquitous Tracking Using the DWARF Middleware Asa MacWilliams, Efficient Communication: Colocation Currently, each DWARF service is a separate process –That creates communication overhead However, there is no compelling reason for that One process can implement multiple services and –register them all with registerService() –create new services on demand with registerServiceLoad() –if these service communicate using method calls, the ORB passes the call through directly We could support this generally by copying from COM –compiling C++ Services to shared libraries –write a loader process to load them –keep transparent for Services, using CorbaInit or Template Service However, Notification Service channels are in notifd, so... –handle 1-to-1 connections directly in loader process –link libAttNotification into loader process, too

Feb Ubiquitous Tracking Using the DWARF Middleware Asa MacWilliams, Discussion Strengths –One solution for resource discovery, configuration, adaption –Completely decentralized –Builds on existing framework Weaknesses –It may not be possible to evaluate all attributes in a piecewise, decentralized fashion –Distributed, “heavyweight” middleware creates overhead –It may not scale, in practice

Feb Ubiquitous Tracking Using the DWARF Middleware Asa MacWilliams, Looking forward Where are we now? –We have an idea for a distributed solution –We have a partial implementation Open questions: –Is a decentralized attribute evaluation scheme enough? –Can we keep exploding search graphs under control? –Which attributes should we choose? –How should we specify the attribute dependencies? –Will it scale? –How do we integrate with OpenTracker / Studierstube? What should happen next? –Formalize, investigate, implement, optimize

Asa MacWilliams Lehrstuhl für Angewandte Softwaretechnik Institut für Informatik, Technische Universität München Feb Ubiquitous Tracking using the DWARF Middleware Ubiquitous Tracking Project Workshop Thank You for Your Attention! Any Questions?