Performance Modeling and Benchmarking of Event-Based ... - DVS
Performance Modeling and Benchmarking of Event-Based ... - DVS
Performance Modeling and Benchmarking of Event-Based ... - DVS
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
4.2. PERFORMANCE MODELING PATTERN 57<br />
Pattern 5: Time Controlled Pull II<br />
Timer<br />
1‘Disconnected!<br />
T3<br />
1‘Trigger!<br />
Trigger<br />
Store<br />
1‘<strong>Event</strong> 1‘<strong>Event</strong> 1‘<strong>Event</strong> 1‘<strong>Event</strong><br />
Producer<br />
T1<br />
Broker<br />
T2<br />
Consumer<br />
T2-I: Pull <strong>Event</strong><br />
Broker<br />
<strong>Event</strong><br />
1 1<br />
Consumer<br />
<strong>Event</strong><br />
T2-II: Disconnect<br />
Trigger Store<br />
Trigger<br />
1<br />
1<br />
Timer<br />
Disconnected<br />
Trigger Store<br />
Trigger<br />
1<br />
1<br />
Trigger Store<br />
Trigger<br />
T3: Connect<br />
Timer<br />
Disconnected<br />
1<br />
1<br />
Trigger Store<br />
Trigger<br />
Figure 4.13: Time-controlled Pull Pattern<br />
Characteristics<br />
• Dynamic pull-based communication<br />
• Time controlled behavior: the consumer connects frequently to the broker to pull all<br />
waiting events after a certain time interval.<br />
Example<br />
An event consumer connects frequently to a broker to check whether notifications are waiting.<br />
If yes, the consumer downloads all <strong>of</strong> them, closes the connection afterwards <strong>and</strong> waits for a<br />
specified period <strong>of</strong> time before reconnecting.<br />
Description<br />
In this scenario we face again a time controlled pull-based communication behavior. In contrast<br />
to Pattern 4, the consumer does not only pull one event per connection, but all event notifications<br />
available at the broker. To reflect this, we introduce this pattern.<br />
Similar to Pattern 4, the scenario can be described as a loop composed <strong>of</strong> four phases:<br />
Phase I:<br />
Phase II:<br />
Phase III:<br />
Phase IV:<br />
Consumer is disconnected<br />
Establish connection<br />
Pull all available events<br />
Consumer disconnects<br />
Phase I, II <strong>and</strong> IV are comparable to the one <strong>of</strong> the previous pattern. However, Phase<br />
III differs from Pattern 4, where the consumer tries to pull a fixed number (1) <strong>of</strong> <strong>Event</strong>s. In the