Event Delivering Architecture for Jini-based Services Masayuki Iwai [email protected]...

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

Transcript of Event Delivering Architecture for Jini-based Services Masayuki Iwai [email protected]...

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

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

For example

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

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

Event Notification Types Synchronous Synchronous with timing control Asynchronous Asynchronous with timing control Broadcast- Synchronous Broadcast- Asynchronous

A B