Presentation is loading. Please wait.

Presentation is loading. Please wait.

Event Pipeline Pattern

Similar presentations


Presentation on theme: "Event Pipeline Pattern"— Presentation transcript:

1 Event Pipeline Pattern
Bina Ramamurthy Amisha Thakkar 12/28/2018 OOPSLA 2000, Workshop on Jini Patterns

2 OOPSLA 2000, Workshop on Jini Patterns
Introduction Event models in ad hoc networks such as Jini, and e-speak are quite narrow with few classes and methods. This is quite appropriate since event management is application-specific in these contexts. Burden is on the applications to manage the events. Event Pipeline Pattern is intended to aid in event-driven application development. 12/28/2018 OOPSLA 2000, Workshop on Jini Patterns

3 OOPSLA 2000, Workshop on Jini Patterns
Topics of Discussion Definition Background (Events) Context (Distributed Communications) Examples Pattern Defined Pattern Applied Other Uses Summary 12/28/2018 OOPSLA 2000, Workshop on Jini Patterns

4 OOPSLA 2000, Workshop on Jini Patterns
Definition An event pipeline pattern describes how to dynamically construct a stack of event managers, each providing a unique communication capability as desired by a client and/or a server. 12/28/2018 OOPSLA 2000, Workshop on Jini Patterns

5 OOPSLA 2000, Workshop on Jini Patterns
Background Events are designed to communicate state changes in any objects to those entities that are interested in the state change in that object. Events are typically asynchronous. Event generators Remote events Remote event listeners Event managers (Third Party Agent/Delegate) Notification 12/28/2018 OOPSLA 2000, Workshop on Jini Patterns

6 OOPSLA 2000, Workshop on Jini Patterns
Context In local client-server systems : in-order delivery, partial failure, and latencies are minimal or do not exist. In traditional distributed systems these are taken care of by the network protocol. In Jini, it is the applications responsibility to implement any of the capabilities needed. 12/28/2018 OOPSLA 2000, Workshop on Jini Patterns

7 OOPSLA 2000, Workshop on Jini Patterns
Event Delivery Needs In-order delivery Efficient delivery Store and forward Reliable delivery Filtering of events Grouping of events Persistent delivery Event patterns recognition 12/28/2018 OOPSLA 2000, Workshop on Jini Patterns

8 OOPSLA 2000, Workshop on Jini Patterns
Examples We consider a stockbroker’s office In-order delivery - The stockbroker would like to be notified all stock changes in order. Efficiency - for some stocks the stockbroker may want information only once a day. Store and forward - stockbroker may want a mailbox facility,where some of the events are stored and he/she can retrieve them later. Reliable Delivery - stockbroker does not want to miss out on important tips. 12/28/2018 OOPSLA 2000, Workshop on Jini Patterns

9 OOPSLA 2000, Workshop on Jini Patterns
Examples Filter- stockbroker may not want information on his bank transactions below $1000. Grouping of pattern - When analysts’ prediction follow a certain trend only then he may want to be notified. Persistent Delivery – Follow the stockbroker irrespective of location and deliver events. 12/28/2018 OOPSLA 2000, Workshop on Jini Patterns

10 OOPSLA 2000, Workshop on Jini Patterns
Pipeline Pattern Event Pipeline Event Consumer (target) Event Generator (source) Event Managers 12/28/2018 OOPSLA 2000, Workshop on Jini Patterns

11 OOPSLA 2000, Workshop on Jini Patterns
Sample Event Pipeline Event Generator Event Consumer Event Filter In-Order Delivery Event Grouping 12/28/2018 OOPSLA 2000, Workshop on Jini Patterns

12 OOPSLA 2000, Workshop on Jini Patterns
Pattern Applied Consider an application that requires events delivered filtered using semantic filter, sequenced by order of generation, and grouped by a semantic type (semantic refers to application-dependency). Typically lookup service notifies the event client. In this application lookup service feeds into the pipeline. Code snippets of the event pipeline pattern and its usage are discussed next. 12/28/2018 OOPSLA 2000, Workshop on Jini Patterns

13 Definition of Pipeline Stage
Class FilterStage extends UnicastRemoteObject implements RemoteEventListener … { public FilterStage() throws RemoteException { } public void notify (RemoteEvent e) { // events get notified thru’ this method } public void deliverToNextStage(RemoteEventListener nextStage) { //next stage is notified from here try { nextStage.notify((RemoteEvent)(filteredEvent)); } catch … 12/28/2018 OOPSLA 2000, Workshop on Jini Patterns

14 Plug in Stages to Build a Pipeline
Class EventClient implements RemoteEventListener { //instantiate the stage closest to the client InOrderDeliveryStage iods = new InOrderDeliveryStage(this); GroupingStage gs = new GroupingStage(iods); FilterStage fs = new FilterStage(gs); // connect event source to the first stage so that events are //delivered to the first stage : Source is lookup in this case EventRegistration erg = lookup.register(…,fs); } 12/28/2018 OOPSLA 2000, Workshop on Jini Patterns

15 Associated Support Functions
Leasing Registration Notification Generation Consumption 12/28/2018 OOPSLA 2000, Workshop on Jini Patterns

16 OOPSLA 2000, Workshop on Jini Patterns
Uses Jini as we have already spoken about it Wireless Network : WiARS Architecture, our main research which bridges Jini networks and wireless networks lead us to “mine” event pipeline pattern. Mobile Network Device Network Appliance Network 12/28/2018 OOPSLA 2000, Workshop on Jini Patterns

17 OOPSLA 2000, Workshop on Jini Patterns
References E. Gamma, R. Helm, R. Johnson, J. Vlissides: Design Patterns - Elements Of Reusable Object-Oriented Software, Addison Wesley, 1995 C. Hortmann, G. Cornell: Core Java, Sun Microsystems Press, 1999 W. Keith Edwards: Core Jini, Sun Microsystems Press, 1999 G. Coulouris, J. Dollimore, T. Kindberg: Distributed Systems - Concepts and Design, Addison-Wesley, 1994 Jan Newmarch, Jan Newmarch's Guide to JINI Technology, 12/28/2018 OOPSLA 2000, Workshop on Jini Patterns

18 OOPSLA 2000, Workshop on Jini Patterns
Summary Main contribution of this work is a realization of a systematic way to manage event in light-weight networks. We plan to evaluate the trade-offs in using the pipeline versus the traditional event handling methods. Application of event pipeline pattern (or pipeline pattern) in other networking environments will be explored. 12/28/2018 OOPSLA 2000, Workshop on Jini Patterns


Download ppt "Event Pipeline Pattern"

Similar presentations


Ads by Google