1 / 40

Event Delivering Architecture for Jini-based Services

Event Delivering Architecture for Jini-based Services. Masayuki Iwai tailor@ht.sfc.keio.ac.jp 14/ Aug/2000 Boston, Massachusetts. Background. Sensors and Appliances become smart (IP reachable ) less computation power High-end machines are available STB, PC, WS,Java machine expensive

emmy
Download Presentation

Event Delivering Architecture for Jini-based Services

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Event Delivering Architecture for Jini-based Services Masayuki Iwai tailor@ht.sfc.keio.ac.jp 14/Aug/2000 Boston, Massachusetts

  2. Background • Sensors and Appliances become smart(IP reachable ) • less computation power • High-end machines are available • STB, PC, WS,Java machine • expensive • Collaboration between sensors and appliances becomes important in a house • Jini • Distributed event driven programming system

  3. Some issues • The system composition changes dynamically by users and by environmental conditions • Programmers can not imagine the whole system when they manufacture devices previously • End users have no skill to program the event driven system • Reconfiguration must be easily

  4. Event Delivering Architecture for Jini-based Services Motivation of this research • To create ad hoc event driven system among the distributed sensors and appliances without programming cost andwithout reconfiguring cost

  5. Service Event A D Network E B host Dragon • Uses the Jini technology • Lease, Discovery • Can reconfigure the combination of distributed services • Can control Policy based scheduling for event delivering

  6. user Event BindingEditor Dragon Architecture Jini LUS Jini Services Jini Clients RMI+JVM PCs RMI+JVM appliances RMI+JVM devices Assumption Sensors

  7. Event Binding Editor • Can control every service that is running on the distributed devices • End user can create complicated system easily • End user just wire the event path among the distributed services • Improvised tailored system • Factory network, home network,and sensor networkare the target

  8. Players of Dragon Basic Service

  9. Abstraction of legacy appliances without network connection Acting Module(Real World) Turn on the right Turn on the switch Sensing Module (Real World) Acting Module makes an action against the real world entities. event notify A SM defines how to sense environmental information from real world entities. conditioner

  10. Acting Module(Real World) Event Output Module Event InputModule Event filtering Module Sensing Module (Real World) Basic Service An EFM checks the contents of the events and decides on firing events or not. An EOM fires an event to another service in accordance with an ordering table that was created when a user configured the event path. An EIM is an object that handles many kinds of events that have occurred in other services. An EIM receives events from another service and transfer the event objects to Event Filtering Module.It also registers itself to other services.

  11. Players of Dragon Basic Service Event Manager Event Supplier Event Consumer

  12. Event Registration/Firing Event Manager Event Supplier Event Consumer event action Event propagation ES EM EC registration firing

  13. Event Delivering OT EC1 EC2 OT EC3 EC4 EC5 EM1 OT EC5 EC4 OT EC1 EC2 EM1 ES1 firing EC3 ES2 EC4 EC5 ES3 Event passing way OT Ordering Table

  14. Event Manager Service OT EC1 firing EC2 EC3 OT EC4 EM1 OT EM1 EM1 EC1 ES1 EC2 EC3 ES2 EC4 A programmer can describe whether or not an incoming event should be passed. The programmer can also describe some operations using the incoming events. Event passing way OT Ordering Table

  15. OT RTOT EC1 EC3 EC2 EC4 EM1 Ordering guarantee of events delivering

  16. Players of Dragon Basic Service Event Manager Event Supplier Event Consumer Merging Manager Timing Manager Thin outing Manager

  17. Merging Manager Inherits Event Manager Merger Filter Module fire Event Filter Module Event Input Module Event Output Module Merging Manager wait for firing the event until every incoming event has arrived

  18. Subclasses of Event Manager Timing Manager Control the timing to fire the events until the time an user set Thin-outing Manager Thin out the mass-produced events for a fixed period of time

  19. Lots of Future Work • Adaptation for streaming data • Control data description is not defined • Xml, Java Object • Avoidance event loop /dead lock • Adaptation for CORBA 3.0 Event Service

  20. Summary • Programmers can reduce the programming cost by using Dragon typical service classes • End-user can create ah-hoc distributed systems without cost of configuration by using the Event Binding Editor.

  21. Q and A

  22. Multicast data announcement vs Unicast RMI • Reliability problem • Domain problem • Thin sensor and devices costs tointerpret the multicast channel • Require extra work to guarantee consistency • Require semantics that connect system and multicast channel

  23. Soft Real-Time on Dragon RTOT OT

  24. Clock Alarms at 10:10 in the morning This information packed to an event object , Clock notify this event to event stand event notify Alarm event Supply and Consume Event Supplier Event Consumer

  25. For example

  26. Major Distributed System  Middleware's • DCOM (Microsoft) • UPnP (Microsoft) • CORBA(OMG) • Jini(Sun Microsystems) • JavaSpaces(Sun Microsystems) • not reduce both user cost and programmers cost 

  27. Related Work • ECJ (toshiba) • JECho (Georgia) • Carp@ • CORBA Event Service (OMG) • HAVi Event Service(HAVi org) • Java Spaces(Sun) • (Timesys Corp)

  28. VNA vs Dragon • The point aimed at • Function vs Event • Reconfiguration • HIDE vs WYSWYG • flexible event passing Mechanismvs flexible connection type • Multicast vs unicast

  29. Service2 Service1 join ①lookup ②remote_object ③addEventListener ⑤notify ④event fire Jini Distributed Event Model Stub Lookup Service Service Service2 Client1 Service1 Client2

  30. Jini Distributed Event Model • Merits • No consideration network addresswhen user try to find services using Discovery protocol technology • Services fault detection using Lease technology • Demerits • User can not find clients • Service can not change the event notification target • Jini’s programming is still hard and complex for end user

  31. Location aware Home1.RoomA Home2. RoomB EM Home2. RoomC

  32. Producer2 EventBindingService ⑤lookup +transition Producer1 join join ①lookup ②lookup addEventListener ④change command ⑥notify addEventListener ③notify Event Input Module Lookup Service EventBindingService Table Event Output Module Event Input Module Supplier Event Output Module Consumer Supplier

  33. Evaluation • Time that event supplier notify all the event to event consumers time(ms) The number of articles

  34. public BasicService (Entry[] ServiceMetaInformation, LocationGroups locationGroups, int lease_dur_sec, int max_renewal_times, FilteringModule filteringmodule, ActingModule actingmidule, SensingModule sensingmodule ) Basic Service Format

  35. public class EventSupplier extends BasicService{ public EventSupplier (Entry[] ServiceMetaInformation, LocationGroups locationGroups, int lease_dur_sec, int max_renewal_times, SensingModule sensingmodule){ super(ServiceMetaInformation, locationGroups, lease_dur_sec, max_renewal_times, null,//FilteringModule null,//ActingModule SensingModule sensingmodule); } } Event Supplier Service

  36. public class EventConsumer extends BasicService{ public EventConsumer (Entry[] ServiceMetaInformation, LocationGroups locationGroups, int lease_dur_sec, int max_renewal_times, ActingModule actingmodule){ super(ServiceMetaInformation, locationGroups, lease_dur_sec, max_renewal_times, null,//FilteringModule ActingModule actingmodule, null//SensingModule); } } Event Consumer Service

  37. Event Manager Service public class EventConsumer extends BasicService{ public EventConsumer (Entry[] ServiceMetaInformation, LocationGroups locationGroups, int lease_dur_sec, int max_renewal_times, FilteringModule filteringmodule){ super(ServiceMetaInformation, locationGroups, lease_dur_sec, max_renewal_times, FilteringModule filteringmodule, null,//ActingModule null//SensingModule); } }

  38. Future Work II • Adaptation JavaSpaces Event Service • Adaptation for streaming data • DataInputStream • Avoidance event loop /dead lock • Classify the event notification • Asynchronous, synchronous, callback, time

  39. Dragon???? • Consider twokinds of devices… • devices that sense environments • Networked thermometers, hygrometers, illuminometers,and voltage etc… • devices that act on the users and environments • Networked air conditioners, music player, and TV etc… • Consider exchanging messages over the network

  40. Event Notification Types • Synchronous • Synchronous with timing control • Asynchronous • Asynchronous with timing control • Broadcast- Synchronous • Broadcast- Asynchronous A B

More Related