event delivering architecture for jini-based services masayuki iwai [email protected]...
TRANSCRIPT
![Page 1: Event Delivering Architecture for Jini-based Services Masayuki Iwai tailor@ht.sfc.keio.ac.jp 14/Aug/2000 Boston, Massachusetts](https://reader036.vdocuments.mx/reader036/viewer/2022062519/5697bfc31a28abf838ca552c/html5/thumbnails/1.jpg)
Event Delivering Architecture for Jini-based Services
Masayuki [email protected]
14/Aug/2000Boston, Massachusetts
![Page 2: Event Delivering Architecture for Jini-based Services Masayuki Iwai tailor@ht.sfc.keio.ac.jp 14/Aug/2000 Boston, Massachusetts](https://reader036.vdocuments.mx/reader036/viewer/2022062519/5697bfc31a28abf838ca552c/html5/thumbnails/2.jpg)
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
![Page 3: Event Delivering Architecture for Jini-based Services Masayuki Iwai tailor@ht.sfc.keio.ac.jp 14/Aug/2000 Boston, Massachusetts](https://reader036.vdocuments.mx/reader036/viewer/2022062519/5697bfc31a28abf838ca552c/html5/thumbnails/3.jpg)
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
![Page 4: Event Delivering Architecture for Jini-based Services Masayuki Iwai tailor@ht.sfc.keio.ac.jp 14/Aug/2000 Boston, Massachusetts](https://reader036.vdocuments.mx/reader036/viewer/2022062519/5697bfc31a28abf838ca552c/html5/thumbnails/4.jpg)
Motivation of this research To create ad hoc event driven system
among the distributed sensors and appliances without programming cost and without reconfiguring cost
Event Delivering Architecture for Jini-based Services
![Page 5: Event Delivering Architecture for Jini-based Services Masayuki Iwai tailor@ht.sfc.keio.ac.jp 14/Aug/2000 Boston, Massachusetts](https://reader036.vdocuments.mx/reader036/viewer/2022062519/5697bfc31a28abf838ca552c/html5/thumbnails/5.jpg)
Dragon Uses the Jini technology
Lease, Discovery Can reconfigure the combination of
distributed services Can control Policy based
scheduling for event delivering
E
A
B
D
Event
host
Service
Network
![Page 6: Event Delivering Architecture for Jini-based Services Masayuki Iwai tailor@ht.sfc.keio.ac.jp 14/Aug/2000 Boston, Massachusetts](https://reader036.vdocuments.mx/reader036/viewer/2022062519/5697bfc31a28abf838ca552c/html5/thumbnails/6.jpg)
RMI+JVMPCs
RMI+JVMappliances
RMI+JVMdevices
Jini LUS Jini Clients Jini Services
Assumption
Dragon Architecture
Event Binding Editor
user
Sensors
![Page 7: Event Delivering Architecture for Jini-based Services Masayuki Iwai tailor@ht.sfc.keio.ac.jp 14/Aug/2000 Boston, Massachusetts](https://reader036.vdocuments.mx/reader036/viewer/2022062519/5697bfc31a28abf838ca552c/html5/thumbnails/7.jpg)
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
![Page 8: Event Delivering Architecture for Jini-based Services Masayuki Iwai tailor@ht.sfc.keio.ac.jp 14/Aug/2000 Boston, Massachusetts](https://reader036.vdocuments.mx/reader036/viewer/2022062519/5697bfc31a28abf838ca552c/html5/thumbnails/8.jpg)
Players of Dragon
Basic Service
![Page 9: Event Delivering Architecture for Jini-based Services Masayuki Iwai tailor@ht.sfc.keio.ac.jp 14/Aug/2000 Boston, Massachusetts](https://reader036.vdocuments.mx/reader036/viewer/2022062519/5697bfc31a28abf838ca552c/html5/thumbnails/9.jpg)
Abstraction of legacy appliances without network connection
Sensing Module (Real World)
Acting Module(Real World)
event notify
Turn on the switch
Turn on the right Acting Module makes an action against the real world entities.
A SM defines how to sense environmental information from real world entities.conditioner
![Page 10: Event Delivering Architecture for Jini-based Services Masayuki Iwai tailor@ht.sfc.keio.ac.jp 14/Aug/2000 Boston, Massachusetts](https://reader036.vdocuments.mx/reader036/viewer/2022062519/5697bfc31a28abf838ca552c/html5/thumbnails/10.jpg)
Sensing Module (Real World)
Acting Module(Real World)
Basic Service
Event Output Module
Event Input Module
Event filtering Module
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.
An EFM checks the contents of the events and decides on firing events or not.
![Page 11: Event Delivering Architecture for Jini-based Services Masayuki Iwai tailor@ht.sfc.keio.ac.jp 14/Aug/2000 Boston, Massachusetts](https://reader036.vdocuments.mx/reader036/viewer/2022062519/5697bfc31a28abf838ca552c/html5/thumbnails/11.jpg)
Players of Dragon
Basic Service
Event Supplier Event Manager Event Consumer
![Page 12: Event Delivering Architecture for Jini-based Services Masayuki Iwai tailor@ht.sfc.keio.ac.jp 14/Aug/2000 Boston, Massachusetts](https://reader036.vdocuments.mx/reader036/viewer/2022062519/5697bfc31a28abf838ca552c/html5/thumbnails/12.jpg)
Event Registration/Firing
registration
firing
Event Supplier Event Manager
Event Consumer
ES
EM
EC
event
Event propagation
action
![Page 13: Event Delivering Architecture for Jini-based Services Masayuki Iwai tailor@ht.sfc.keio.ac.jp 14/Aug/2000 Boston, Massachusetts](https://reader036.vdocuments.mx/reader036/viewer/2022062519/5697bfc31a28abf838ca552c/html5/thumbnails/13.jpg)
EM1ES1
ES2
EC1
EC2
EC3
EC4
ES3 EC5
Event passing way
OT Ordering Table
firing
Event Delivering
OT
OTEC1
EC2
EC3
EC4
EM1
EC5
EC5
EC4
OT
OT
![Page 14: Event Delivering Architecture for Jini-based Services Masayuki Iwai tailor@ht.sfc.keio.ac.jp 14/Aug/2000 Boston, Massachusetts](https://reader036.vdocuments.mx/reader036/viewer/2022062519/5697bfc31a28abf838ca552c/html5/thumbnails/14.jpg)
EM1ES1
ES2
EC1
Event passing way
OT Ordering Table
EC2
EC3
Event Manager Service
EC4
OT
OT
EM1
EC1
EC2
EC3
EC4
firing
EM1OT
A programmer can describe whether or not an incoming event should be passed.The programmer can also describe some operations using the incoming events.
![Page 15: Event Delivering Architecture for Jini-based Services Masayuki Iwai tailor@ht.sfc.keio.ac.jp 14/Aug/2000 Boston, Massachusetts](https://reader036.vdocuments.mx/reader036/viewer/2022062519/5697bfc31a28abf838ca552c/html5/thumbnails/15.jpg)
Ordering guarantee of events delivering
EM1
OTEC1
EC3
EC4EC2
RTOT
![Page 16: Event Delivering Architecture for Jini-based Services Masayuki Iwai tailor@ht.sfc.keio.ac.jp 14/Aug/2000 Boston, Massachusetts](https://reader036.vdocuments.mx/reader036/viewer/2022062519/5697bfc31a28abf838ca552c/html5/thumbnails/16.jpg)
Players of Dragon
Basic Service
Event Supplier Event Manager Event Consumer
Merging Manager Timing Manager Thin outing Manager
![Page 17: Event Delivering Architecture for Jini-based Services Masayuki Iwai tailor@ht.sfc.keio.ac.jp 14/Aug/2000 Boston, Massachusetts](https://reader036.vdocuments.mx/reader036/viewer/2022062519/5697bfc31a28abf838ca552c/html5/thumbnails/17.jpg)
Event Input Module Event Output Module
Merger Filter Module
Merging Manager
fire
Inherits Event Manager
Event Filter Module
Merging Manager wait for firing the event until every incoming event has arrived
![Page 18: Event Delivering Architecture for Jini-based Services Masayuki Iwai tailor@ht.sfc.keio.ac.jp 14/Aug/2000 Boston, Massachusetts](https://reader036.vdocuments.mx/reader036/viewer/2022062519/5697bfc31a28abf838ca552c/html5/thumbnails/18.jpg)
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
![Page 19: Event Delivering Architecture for Jini-based Services Masayuki Iwai tailor@ht.sfc.keio.ac.jp 14/Aug/2000 Boston, Massachusetts](https://reader036.vdocuments.mx/reader036/viewer/2022062519/5697bfc31a28abf838ca552c/html5/thumbnails/19.jpg)
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
![Page 20: Event Delivering Architecture for Jini-based Services Masayuki Iwai tailor@ht.sfc.keio.ac.jp 14/Aug/2000 Boston, Massachusetts](https://reader036.vdocuments.mx/reader036/viewer/2022062519/5697bfc31a28abf838ca552c/html5/thumbnails/20.jpg)
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.
![Page 21: Event Delivering Architecture for Jini-based Services Masayuki Iwai tailor@ht.sfc.keio.ac.jp 14/Aug/2000 Boston, Massachusetts](https://reader036.vdocuments.mx/reader036/viewer/2022062519/5697bfc31a28abf838ca552c/html5/thumbnails/21.jpg)
Q and A
![Page 22: Event Delivering Architecture for Jini-based Services Masayuki Iwai tailor@ht.sfc.keio.ac.jp 14/Aug/2000 Boston, Massachusetts](https://reader036.vdocuments.mx/reader036/viewer/2022062519/5697bfc31a28abf838ca552c/html5/thumbnails/22.jpg)
Multicast data announcement
vs Unicast RMI Reliability problem Domain problem Thin sensor and devices costs to
interpret the multicast channel Require extra work to guarantee
consistency Require semantics that connect
system and multicast channel
![Page 23: Event Delivering Architecture for Jini-based Services Masayuki Iwai tailor@ht.sfc.keio.ac.jp 14/Aug/2000 Boston, Massachusetts](https://reader036.vdocuments.mx/reader036/viewer/2022062519/5697bfc31a28abf838ca552c/html5/thumbnails/23.jpg)
Soft Real-Time on Dragon
order stub deadline
1 ec2 10ms
2 ec5 12ms
3 ec6 20ms
order stub
4 ec1
5 ec3
6 ec4
RTOT OT
![Page 24: Event Delivering Architecture for Jini-based Services Masayuki Iwai tailor@ht.sfc.keio.ac.jp 14/Aug/2000 Boston, Massachusetts](https://reader036.vdocuments.mx/reader036/viewer/2022062519/5697bfc31a28abf838ca552c/html5/thumbnails/24.jpg)
Supply and Consume
Event ConsumerEvent Supplier
Clock Alarms at 10:10 in the morning This information packed to an event object , Clock notify this event to event stand
event notifyAlarm event
![Page 25: Event Delivering Architecture for Jini-based Services Masayuki Iwai tailor@ht.sfc.keio.ac.jp 14/Aug/2000 Boston, Massachusetts](https://reader036.vdocuments.mx/reader036/viewer/2022062519/5697bfc31a28abf838ca552c/html5/thumbnails/25.jpg)
For example
![Page 26: Event Delivering Architecture for Jini-based Services Masayuki Iwai tailor@ht.sfc.keio.ac.jp 14/Aug/2000 Boston, Massachusetts](https://reader036.vdocuments.mx/reader036/viewer/2022062519/5697bfc31a28abf838ca552c/html5/thumbnails/26.jpg)
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
![Page 27: Event Delivering Architecture for Jini-based Services Masayuki Iwai tailor@ht.sfc.keio.ac.jp 14/Aug/2000 Boston, Massachusetts](https://reader036.vdocuments.mx/reader036/viewer/2022062519/5697bfc31a28abf838ca552c/html5/thumbnails/27.jpg)
Related Work ECJ (toshiba) JECho (Georgia) Carp@ CORBA Event Service (OMG) HAVi Event Service(HAVi org) Java Spaces(Sun) (Timesys Corp)
![Page 28: Event Delivering Architecture for Jini-based Services Masayuki Iwai tailor@ht.sfc.keio.ac.jp 14/Aug/2000 Boston, Massachusetts](https://reader036.vdocuments.mx/reader036/viewer/2022062519/5697bfc31a28abf838ca552c/html5/thumbnails/28.jpg)
VNA vs Dragon The point aimed at
Function vs Event Reconfiguration
HIDE vs WYSWYG flexible event passing Mechanism
vs flexible connection type Multicast vs unicast
![Page 29: Event Delivering Architecture for Jini-based Services Masayuki Iwai tailor@ht.sfc.keio.ac.jp 14/Aug/2000 Boston, Massachusetts](https://reader036.vdocuments.mx/reader036/viewer/2022062519/5697bfc31a28abf838ca552c/html5/thumbnails/29.jpg)
Lookup Service
Client1
④event fire
③addEventListener
⑤notify
①lookup②remote_object
Jini Distributed Event Model
Service2
Service1
Service2
joinService1
Stub
Service
Client2
![Page 30: Event Delivering Architecture for Jini-based Services Masayuki Iwai tailor@ht.sfc.keio.ac.jp 14/Aug/2000 Boston, Massachusetts](https://reader036.vdocuments.mx/reader036/viewer/2022062519/5697bfc31a28abf838ca552c/html5/thumbnails/30.jpg)
Jini Distributed Event Model
Merits No consideration network address when 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
![Page 31: Event Delivering Architecture for Jini-based Services Masayuki Iwai tailor@ht.sfc.keio.ac.jp 14/Aug/2000 Boston, Massachusetts](https://reader036.vdocuments.mx/reader036/viewer/2022062519/5697bfc31a28abf838ca552c/html5/thumbnails/31.jpg)
Location aware
Home1.RoomA Home2. RoomB
Home2. RoomC
EM
![Page 32: Event Delivering Architecture for Jini-based Services Masayuki Iwai tailor@ht.sfc.keio.ac.jp 14/Aug/2000 Boston, Massachusetts](https://reader036.vdocuments.mx/reader036/viewer/2022062519/5697bfc31a28abf838ca552c/html5/thumbnails/32.jpg)
Supplier
Supplier
Lookup Service
Event Input Module
Consumer
Event Output Module
Event Output Module ③notify
Producer2
join
Event Input Module
Producer1
EventBindingService
Table④change command
⑥notify
①lookup
EventBindingService
join
⑤lookup+transition
②lookup
addEventListener
addEventListener
![Page 33: Event Delivering Architecture for Jini-based Services Masayuki Iwai tailor@ht.sfc.keio.ac.jp 14/Aug/2000 Boston, Massachusetts](https://reader036.vdocuments.mx/reader036/viewer/2022062519/5697bfc31a28abf838ca552c/html5/thumbnails/33.jpg)
Evaluation Time that event supplier notify all the event to
event consumers
y = 7.7614x + 1
0
20
40
60
80
100
120
1 2 3 4 5 6 7 8 9 10 11 12 13 14
The number of articlesThe number of articles
time ( ms )time ( ms )
![Page 34: Event Delivering Architecture for Jini-based Services Masayuki Iwai tailor@ht.sfc.keio.ac.jp 14/Aug/2000 Boston, Massachusetts](https://reader036.vdocuments.mx/reader036/viewer/2022062519/5697bfc31a28abf838ca552c/html5/thumbnails/34.jpg)
Basic Service Format
public BasicService (Entry[] ServiceMetaInformation, LocationGroups locationGroups, int lease_dur_sec, int max_renewal_times, FilteringModule filteringmodule, ActingModule actingmidule, SensingModule sensingmodule )
![Page 35: Event Delivering Architecture for Jini-based Services Masayuki Iwai tailor@ht.sfc.keio.ac.jp 14/Aug/2000 Boston, Massachusetts](https://reader036.vdocuments.mx/reader036/viewer/2022062519/5697bfc31a28abf838ca552c/html5/thumbnails/35.jpg)
Event Supplier Servicepublic 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); }}
![Page 36: Event Delivering Architecture for Jini-based Services Masayuki Iwai tailor@ht.sfc.keio.ac.jp 14/Aug/2000 Boston, Massachusetts](https://reader036.vdocuments.mx/reader036/viewer/2022062519/5697bfc31a28abf838ca552c/html5/thumbnails/36.jpg)
Event Consumer Servicepublic 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); }}
![Page 37: Event Delivering Architecture for Jini-based Services Masayuki Iwai tailor@ht.sfc.keio.ac.jp 14/Aug/2000 Boston, Massachusetts](https://reader036.vdocuments.mx/reader036/viewer/2022062519/5697bfc31a28abf838ca552c/html5/thumbnails/37.jpg)
Event Manager Servicepublic 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); }}
![Page 38: Event Delivering Architecture for Jini-based Services Masayuki Iwai tailor@ht.sfc.keio.ac.jp 14/Aug/2000 Boston, Massachusetts](https://reader036.vdocuments.mx/reader036/viewer/2022062519/5697bfc31a28abf838ca552c/html5/thumbnails/38.jpg)
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
![Page 39: Event Delivering Architecture for Jini-based Services Masayuki Iwai tailor@ht.sfc.keio.ac.jp 14/Aug/2000 Boston, Massachusetts](https://reader036.vdocuments.mx/reader036/viewer/2022062519/5697bfc31a28abf838ca552c/html5/thumbnails/39.jpg)
Dragon????
Consider two kinds 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
![Page 40: Event Delivering Architecture for Jini-based Services Masayuki Iwai tailor@ht.sfc.keio.ac.jp 14/Aug/2000 Boston, Massachusetts](https://reader036.vdocuments.mx/reader036/viewer/2022062519/5697bfc31a28abf838ca552c/html5/thumbnails/40.jpg)
Event Notification Types Synchronous Synchronous with timing control Asynchronous Asynchronous with timing control Broadcast- Synchronous Broadcast- Asynchronous
A B