Looking into the Past: Enhancing Mobile Publish/Subscribe Middleware Exponent: Pablo E. Guerrero Thesis Supervisor: Mariano A. Cilia Universidad Nacional.

Slides:



Advertisements
Similar presentations
2000 Making DADS distributed a Nordunet2 project Jochen Hollmann Chalmers University of Technology.
Advertisements

Database Architectures and the Web
Efficient Event-based Resource Discovery Wei Yan*, Songlin Hu*, Vinod Muthusamy +, Hans-Arno Jacobsen +, Li Zha* * Chinese Academy of Sciences, Beijing.
Alex Cheung and Hans-Arno Jacobsen August, 14 th 2009 MIDDLEWARE SYSTEMS RESEARCH GROUP.
Ludger Fiege, TU Darmstadt, Germany Slide 1 A Modular Approach to Build Structured Event-based Systems Ludger Fiege Dep. of Computer Science.
Small-Scale Peer-to-Peer Publish/Subscribe
Definition of a Distributed System (1) A distributed system is: A collection of independent computers that appears to its users as a single coherent system.
Subscription Subsumption Evaluation for Content-Based Publish/Subscribe Systems Hojjat Jafarpour, Bijit Hore, Sharad Mehrotra, and Nalini Venkatasubramanian.
Distributed Mobile Event Systems Sasu Tarkoma MiNEMA Workshop.
Matching Patterns Servers assemble sequences of notifications from smaller subsequences or from single notifications.This technique requires an advertisement.
User Level Interprocess Communication for Shared Memory Multiprocessor by Bershad, B.N. Anderson, A.E., Lazowska, E.D., and Levy, H.M.
Design and Evaluation of a Wide-Area Event Notification Service Antonio Carzaniga David S. Rosenblum Alexander L. Wolf.
Chapter 10: Stream-based Data Management Title: Design, Implementation, and Evaluation of the Linear Road Benchmark on the Stream Processing Core Authors:
EEC-681/781 Distributed Computing Systems Lecture 3 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
1 Introduction to Load Balancing: l Definition of Distributed systems. Collection of independent loosely coupled computing resources. l Load Balancing.
Darmstadt University of Technology CoopIS 2001, TrentoGero Mühl Generic Constraints for Content-Based Publish/Subscribe Gero Mühl PhD Program “Enabling.
Hermes: A Distributed Event- Based Middleware Architecture Peter Pietzuch and Jean Bacon 1st DEBS Workshop, Vienna,
A Framework for Object-Based Event Composition in Distributed Systems Peter Pietzuch and Brian Shand June 2002.
ECSE Software Engineering 1I HO 7 © HY 2012 Lecture 7 Publish/Subscribe.
Fuego Event Service: Towards Modularity in Event Routing Sasu Tarkoma Rutgers-Helsinki Workshop
Background Notification services in LAN Provides Notification Selection Notification Delivery Done on a centralized server (hence not scalable) Challenge.
Client-Server Computing in Mobile Environments
Distributed Publish/Subscribe Network Presented by: Yu-Ling Chang.
UNCLASSIFIED – APPROVED FOR PUBLIC RELEASEUNCLASSIFIED Architectures for Mobile Wireless Publish/Subscribe Networks David S. Rosenblum Chief Technology.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Chapter 2 Architectural Models. Keywords Middleware Interface vs. implementation Client-server models OOP.
Effects of Routing Computations in Content-Based Routing Networks with Mobile Data Sources Vinod Muthusamy, Milenko Petrovic, Hans-Arno Jacobsen University.
ECE 526 – Network Processing Systems Design Network Processor Architecture and Scalability Chapter 13,14: D. E. Comer.
Publisher Mobility in Distributed Publish/Subscribe Systems Vinod Muthusamy, Milenko Petrovic, Dapeng Gao, Hans-Arno Jacobsen University of Toronto June.
An affinity-driven clustering approach for service discovery and composition for pervasive computing J. Gaber and M.Bakhouya Laboratoire SeT Université.
1 IMPLEMENTING AN ACTIVE FUNCTIONALITY SERVICE ON DIFFERENT PLATFORMS Candidate: Antollini, Juan José Advisor: Cilia, Mariano Cilia, Mariano Universidad.
Supporting Disconnected Operations in Publish/Subscribe Systems Vinod Muthusamy Joint work with Milenko Petrovic, Ioana Burcea, H.-Arno Jacobsen, Eyal.
Architectural Design To explain the advantages and disadvantages of different distributed systems architectures To discuss client-server and distributed.
Content-Based Routing in Mobile Ad Hoc Networks Milenko Petrovic, Vinod Muthusamy, Hans-Arno Jacobsen University of Toronto July 18, 2005 MobiQuitous 2005.
Architectures of distributed systems Fundamental Models
Enabling Online Analysis of Notification Services Sebastian Salvucci - Tandil, Aug2006 Enabling Online Analysis of Notification Services Sebastian Salvucci.
Towards Exploiting User- Centric Information for Proactive Caching in Mobile Networks ‡ , WWRF28, Athens Xenofon Vasilakos Xenofon Vasilakos,
MIDDLEWARE SYSTEMS RESEARCH GROUP MSRG.ORG Total Order in Content-based Publish/Subscribe Systems Joint work with: Vinod Muthusamy, Hans-Arno Jacobsen.
Classification and Analysis of Distributed Event Filtering Algorithms Sven Bittner Dr. Annika Hinze University of Waikato New Zealand Presentation at CoopIS.
Distributed Information Systems. Motivation ● To understand the problems that Web services try to solve it is helpful to understand how distributed information.
SOA-10: Event-Driven SOA: EDA in an SOA World Ken Wilner Vice President of Technology.
CSC480 Software Engineering Lecture 10 September 25, 2002.
Definition of a Distributed System (1) A distributed system is: A collection of independent computers that appears to its users as a single coherent system.
ICS362 – Distributed Systems Dr. Ken Cosh Week 2.
Information-Centric Networks10b-1 Week 10 / Paper 2 Hermes: a distributed event-based middleware architecture –P.R. Pietzuch, J.M. Bacon –ICDCS 2002 Workshops.
Seminar on Service Oriented Architecture Distributed Systems Architectural Models From Coulouris, 5 th Ed. SOA Seminar Coulouris 5Ed.1.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
REST By: Vishwanath Vineet.
Peter R Pietzuch and Jean Bacon Peer-to-Peer Overlay Networks in an Event-Based Middleware DEBS’03, San Diego, CA, USA,
NDDS: The Real-Time Publish Subscribe Middleware Network Data Delivery Service An Efficient Real-Time Application Communications Platform Presented By:
Slide 1 Lecture 15 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.
September 28, 2010COMS W41561 COMS W4156: Advanced Software Engineering Prof. Gail Kaiser
Efficient Opportunistic Sensing using Mobile Collaborative Platform MOSDEN.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Introduction to Load Balancing:
A Framework for Object-Based Event Composition in Distributed Systems
Database Architectures and the Web
#01 Client/Server Computing
Interpreter Style Examples
Architectures of distributed systems Fundamental Models
Distributed Publish/Subscribe Network
Architectures of distributed systems Fundamental Models
Composite Subscriptions in Content-based Pub/Sub Systems
Small-Scale Peer-to-Peer Publish/Subscribe
Indirect Communication Paradigms (or Messaging Methods)
Indirect Communication Paradigms (or Messaging Methods)
Architectures of distributed systems
Architectures of distributed systems Fundamental Models
#01 Client/Server Computing
Presentation transcript:

Looking into the Past: Enhancing Mobile Publish/Subscribe Middleware Exponent: Pablo E. Guerrero Thesis Supervisor: Mariano A. Cilia Universidad Nacional del Centro de la Provincia de Buenos Aires Facultad de Ciencias Exactas Tandil, Argentina, October, 2004

2 Agenda  Motivation  Problem Statement  Proposed Approach  Design & Implementation  Experimental Results  Conclusions

3 Motivation  Convergence of Technologies  Usage of Large-Scale Distributed Systems  Mobile Devices & Wireless Technologies  Client/Server (Request/Reply) Predominance  New Paradigm for Information-Driven Applications  WWW, Sensor Networks, Enterprise Strategies  Pull-based (Request/Reply) Does Not Fit  Polling implies resource waste  Leads to Network Saturation or Server Breakdown!  Not Suitable for Mobile Devices  Push-based  Event-based Dissemination Initiator of Interaction ConsumerProducer Knowledge about Counterpart Full Request/ Reply One-to-One Messaging No Anonymous Request/Reply Event-Based Dissemination

4 Motivation (II)  Publish/Subscribe Middleware provides  Asynchronous communication  Loose coupling  Producers don’t know who is subscribed  Clients can “dynamically” join and leave  Doesn’t require publishers and subscribers at the same time  Reflects intrinsic behavior of Information- driven Application  Support for roaming clients  Notion of Location  Location Transparency  Pub/Sub needs an Intermediator

5 Publish/Subscribe Systems Structure  Independent Process Data Flow Style  Message Manager or Notification Service  Clients (producers/consumers/both)  Communication links  Service Semantics  Implementation  Decentralized brokers  Connected graph  Client’s proxies

6 Problem Statement  Problem Applications Startup  Initial Bootstrapping Sequence phase  Getting a Consistent State  Request/Reply (combination)  Observation phase (pure Pub/Sub)  Cannot assume how long will it take Meaningful Event :anEventBasedApp:aNotificationService

7 Problem Statement (II)  Problem Aggravated in Mobile Environments  Disconnections  Context Changes (new location)  Pervasive environment’s dynamic behavior  A new bootstrapping phase must be initiated!  System responsiveness degraded

8 Proposed Approach  Goal:  Reduce bootstrapping latency  Use already published (past) notifications  Extend an existing pub/sub system, R EBECA  Store notifications in its Infrastructure  Caches Distributed in the Network  Minimize underlying system changes Meaningful Event :aNotificationService:anEventBasedApp

9 The R EBECA Notification Service

10 R EBECA Brokers Network

11 R EBECA Routing Algorithms  Flooding  Filter Forwarding  Simple Routing  Identity-based Routing  Covering-based Routing  Merging-based Routing  Routing with Advertisements

12 Proposed Approach  Approach Analysis  Caching Requirements  Caching in Event-Based Systems  Notifications Storage  Cache Querying Strategies  Guidelines

13 Proposed Approach Analysis  Store Notifications in Distributed Caches  Extending External Behavior  Past Bound  Interface Extension

14 Proposed Approach Analysis (II)  Extend Internal Behavior  Extend System Behavior  Support for Different Strategies

15 Caching Strategies Requirements  Response Time  Time Overhead  Space Usage  Integrability  Correctness  Transparence  Dynamism  Separation of Concerns  Specification of the Requirements from the Infrastructure

16 Caching in Event-Based Systems  Caching applied in a different fashion than traditional systems  Main differences:  Cache Coherency and Consistency  Cache Sizes  Information Lifetime  Caching vs. Buffering

17 Notifications Storage  When? Locality Principle not Applicable!  Distributed decision based on:  Subscriptions and Unsubscriptions  Advertisements and Unadvertisements  Notifications  How? Behaving as FIFO queues  Circular Ring Buffer

18 Notifications Storage (II)  Parallel Circular Ring Buffers  Take advantage of Content-based NS  Filter Identity, Covering and Merging

19 Notifications Storage (III)  A Combination, which  avoids Replicating Notifications  allows Ordering Notifications

20 Cache Querying  NS is an Undirected Acyclic Graph  How deep to search? (i.e. How many levels k?)  Link traversals involve costs similar to RPC’s:  De / Serialization, Un / Marshalling  RPC Runtime Costs, Physical Network Transfer  RPC requires ~ machine instructions  LPC 100 times faster than RPC  Strategies Classification:  k = 1  Restricted to Local Event Brokers  1 < k  m  Restricted to maximum depth ‘m’  k =   Allowed to perform exhaustive search

21 Cache Querying: LocalBrokerCaching

22 Cache Querying: BorderBrokerCaching

23 Cache Querying: MergingCaching

24 Cache Querying  Caching w/More Complex Routing Algorithms  Routing Algorithms selects which neighbors to forward a subscription  Solution: Force Forwarding an explicit Fetch message  Caching w/Advertisements  Avoid asking every peer by using advertisements information  Considering the Time Dimension  Border Brokers’ clocks synchronization  Attach a Timestamp to notifications

25 Cache Querying Guidelines

26 Design & Implementation  OOP Aproaches  Class Inheritance  Decorator Design Pattern

27 AOP Architectural Approach  Usage of AOP tools

28 AOP Architectural Approach (II)  Method Interceptions  Advices  Inter-Type Declarations  Aspects pointcut initRoutingEngine(): initialization(RoutingEngine.new()); pointcut subscription(): withincode(void LocalEventBroker.subscribe(..)) && call(void RoutingEngine.addSubscription(..)); before (RoutingEngine routingEngine, Subscription sub, Subscription sub, EventProcessor processor): EventProcessor processor): subscription(routingEngine, sub, processor) subscription(routingEngine, sub, processor){ if (sub.isBounded()) if (sub.isBounded()) routingEngine.getCachingStrategy().beforeSubscribe(sub, processor); routingEngine.getCachingStrategy().beforeSubscribe(sub, processor);} public void EventBroker.subscribe(Subscription sub, EventProcessor source, EventProcessor source, PastBound bound); PastBound bound); private PastBound Subscription.bound;

29 AOP Architectural Approach (III)  Caching Class Hierarchy

30 Experimental Results  Provide details on Caching Behavior  Evaluations Setup  Hierarchical Network  Consumers issue Random Subscriptions  Producers publish Notifications of Random Types  Caching Efficacy Metric  Measures Best-Effort

31 LocalBrokerCaching Evaluation

32 BorderBrokerCaching Evaluation

33 MergingCaching Evaluation

34 Caching Strategies Comparison

35 Conclusions  Notification Service was Extended  Reduced Bootstrap Latency  Used a pure pub/sub Approach  Minimal Changes on the pub/sub Subscription Interface  Incorporated Distributed Caching  Efficient, Content-based Notification Storage  Several Strategies Analyzed & Implemented  Aspect-Orientation  Achieved good modularity for a crosscutting concern  Allowed a plug-and-play functionality  Evaluation  Measured & Compared Caching Efficacy  Gave Insights of Caching Behavior

36 Notification Service Future Work  Caching Functionality Integration  On-line Integration through Dynamic AOP  Experiment with other Notification Services  Extend Evaluations  Develop Analytical Response Time Models  Perform Large Scale Simulations  Consider Other Enhancements  Priorization and Interactions with other Aspects of the Notification Service