Jini SCM (S) Pte. Ltdjinisg.com/Jini-SCM-(Thailand)-Co-Ltd.pdfCreated Date: 3/23/2019 1:42:33 PM
Event Delivering Architecture for Jini-based Services Masayuki Iwai [email protected]...
-
Upload
morris-matthews -
Category
Documents
-
view
214 -
download
0
Transcript of Event Delivering Architecture for Jini-based Services Masayuki Iwai [email protected]...
Event Delivering Architecture for Jini-based Services
Masayuki [email protected]
14/Aug/2000Boston, Massachusetts
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
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
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
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
RMI+JVMPCs
RMI+JVMappliances
RMI+JVMdevices
Jini LUS Jini Clients Jini Services
Assumption
Dragon Architecture
Event Binding Editor
user
Sensors
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
Players of Dragon
Basic Service
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
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.
Players of Dragon
Basic Service
Event Supplier Event Manager Event Consumer
Event Registration/Firing
registration
firing
Event Supplier Event Manager
Event Consumer
ES
EM
EC
event
Event propagation
action
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
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.
Ordering guarantee of events delivering
EM1
OTEC1
EC3
EC4EC2
RTOT
Players of Dragon
Basic Service
Event Supplier Event Manager Event Consumer
Merging Manager Timing Manager Thin outing Manager
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
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
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
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.
Q and A
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
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
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
For example
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
Related Work ECJ (toshiba) JECho (Georgia) Carp@ CORBA Event Service (OMG) HAVi Event Service(HAVi org) Java Spaces(Sun) (Timesys Corp)
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
Lookup Service
Client1
④event fire
③addEventListener
⑤notify
①lookup②remote_object
Jini Distributed Event Model
Service2
Service1
Service2
joinService1
Stub
Service
Client2
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
Location aware
Home1.RoomA Home2. RoomB
Home2. RoomC
EM
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
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 )
Basic Service Format
public BasicService (Entry[] ServiceMetaInformation, LocationGroups locationGroups, int lease_dur_sec, int max_renewal_times, FilteringModule filteringmodule, ActingModule actingmidule, SensingModule sensingmodule )
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); }}
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); }}
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); }}
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
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
Event Notification Types Synchronous Synchronous with timing control Asynchronous Asynchronous with timing control Broadcast- Synchronous Broadcast- Asynchronous
A B