20.01.2015 Views

Performance Modeling and Benchmarking of Event-Based ... - DVS

Performance Modeling and Benchmarking of Event-Based ... - DVS

Performance Modeling and Benchmarking of Event-Based ... - DVS

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Broker<br />

Switch to<br />

1<br />

48 <strong>Event</strong> 1<br />

CHAPTER 4. State PERFORMANCE A<br />

ENGINEERING OF EVENT-BASED SYSTEMS Not.<br />

T2-II<br />

Pattern 3: St<strong>and</strong>ard Pub/Sub - Configurable No. <strong>of</strong> Subscribers<br />

1‘Sub.<br />

1‘Sub.A<br />

Init T0 Controller<br />

Configure Controlller<br />

T2<br />

Creates the configured no. <strong>of</strong><br />

notifications for each incoming <strong>Event</strong>.<br />

1‘<strong>Event</strong> 1‘<strong>Event</strong> 1‘Notification 1‘Notification<br />

Producer<br />

T1<br />

Publish <strong>Event</strong><br />

Broker<br />

T3<br />

Forward <strong>Event</strong><br />

Consumers<br />

The Modi <strong>of</strong> Transition 2<br />

T2 has four modi (T2-I to T2-IV), which<br />

a) implement states in the Controller place<br />

<strong>and</strong><br />

b) create a configured number <strong>of</strong> notification<br />

tokens for each incoming event.<br />

T2-III: State A<br />

Controller<br />

State A<br />

Sub. B<br />

1<br />

1<br />

1<br />

1<br />

1<br />

Controller<br />

State A<br />

Sub. A<br />

Broker<br />

Not.<br />

Controller<br />

State A<br />

State B<br />

Broker<br />

<strong>Event</strong><br />

1<br />

1<br />

1<br />

1<br />

T2-I<br />

Switch to<br />

State B<br />

1<br />

1<br />

Switch to<br />

State A<br />

T2-II<br />

Controller<br />

State A<br />

State B<br />

T2-IV: State B<br />

Controller<br />

State B 1<br />

Sub. A<br />

1<br />

1<br />

1<br />

1<br />

Controller<br />

State B<br />

Sub. B<br />

Broker<br />

Not.<br />

Figure 4.9: St<strong>and</strong>ard Pub/Sub Pattern - Configurable No. <strong>of</strong> Subscribers<br />

1‘Sub.<br />

1‘Sub.A<br />

Characteristics<br />

Creates the configured no. <strong>of</strong><br />

• Init 1 : n communication T0 Controller (one event is consumed T2<br />

notifications<br />

by a configurable<br />

for each<br />

number<br />

incoming<br />

<strong>of</strong> consumers)<br />

<strong>Event</strong>.<br />

Configure Controlller<br />

• Dynamic number <strong>of</strong> notifications<br />

1‘<strong>Event</strong> 1‘<strong>Event</strong> 1‘Notification 1‘Notification<br />

Example<br />

A<br />

Producer<br />

dynamic number <strong>of</strong> T1 event consumers<br />

Broker<br />

subscribe to a topic. T3<br />

Publish <strong>Event</strong><br />

Forward <strong>Event</strong><br />

Description<br />

Consumers<br />

In complex <strong>and</strong> flexible models we need the possibility to scale the number <strong>of</strong> notifications easily.<br />

In these cases Pattern 2 is not applicable. As a consequence, we define Pattern 3 where the<br />

number <strong>of</strong> notifications per event can be configured by the token count.<br />

Pattern 3 is based on the underlying idea <strong>of</strong> Pattern 2 regarding the service dem<strong>and</strong>. In<br />

contrast to Pattern 2, the user can configure the number <strong>of</strong> notifications for each event simply<br />

by adjusting the number <strong>of</strong> tokens named Subscriber in the system without modifying the

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!