<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta>
      <journal-title-group>
        <journal-title>GvD Workshop</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Quality of Service in Event-based Systems</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Kai Sachs TU Darmstadt</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Germany sachs@dvs.tu- darmstadt.de</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Alejandro Buchmann TU Darmstadt</institution>
          ,
          <addr-line>Germany darmstadt.de</addr-line>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Stefan Appel TU Darmstadt</institution>
          ,
          <addr-line>Germany darmstadt.de</addr-line>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2010</year>
      </pub-date>
      <volume>25</volume>
      <abstract>
        <p>Future software systems must be responsive to events and must be able to adapt the software to enhance business processes. Examples are production and logistics processes that must be rescheduled based on relevant tra c information. It is therefore essential that relevant events are detected and transported to the software components responsible for dynamic changes. The trust in such reactive systems depends to a large extent on the Quality of Service (QoS) provided by the underlying event system. This paper introduces QoS aspects in event-based systems and discusses ways of identifying and evaluating QoS needs. This is done by identifying the di erent system layers, and the quality requirements at each layer based on the layer's functionality.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>2. RELATED WORK</title>
      <p>
        Research in event-based systems can be categorized into
three broad areas: event production, event transportation
and event consumption. Typical event producers are
wireless sensor nodes and RFID readers but also complex event
processors (CEPs) producing, e.g., composite events. Event
consumers are, for example, complex event processing
engines or business applications in general. To connect
producers and consumers a middleware is necessary and also
responsible for transporting the event noti cations. Events
are represented by event objects which are packaged into
noti cations [
        <xref ref-type="bibr" rid="ref12 ref7">7, 12</xref>
        ]. A schematic view of an EBS is shown
in Figure 1.
      </p>
      <p>
        For the communication between producers and consumers
the paradigm of choice is publish/subscribe, allowing a
decoupled many-to-many communication. The pub/sub
middleware must provide a certain QoS [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. At present, one of
the most widely used technologies providing pub/sub
capabilities is the Java Message Service (JMS) [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ]. A variety of
di erent implementations exist; popular ones are ActiveMQ
Observation
      </p>
      <p>
        Event-Based Interaction
[
        <xref ref-type="bibr" rid="ref24">24</xref>
        ], HornetQ [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ], IBM Websphere, TIBCO Enterprise
Message Service or Oracle WebLogic Server. All these products
follow the JMS speci cation and provide the corresponding
QoS functionalities. For JMS these are support for
transactions, persistence and durability.
      </p>
      <p>
        Besides JMS, the Data Distribution Service (DDS) [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] and
the Advanced Message Queuing Protocol (AMQP) [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] are
other standards for MOM. AMQP is a not yet nally
specied network wire-level protocol which enables
interoperability among di erent MOM implementations and
programming languages; it is comparable to JMS in terms of
reliability and messaging capabilities. The focus of DDS are
real-time distributed systems whereas JMS was originally
designed for business applications. In terms of QoS, DDS
does support more options than JMS does; [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] gives an
overview over the supported QoS policies, e.g., DDS allows
the speci cation of transport priorities for noti cations.
Depending on the area of application JMS, AMQP, or DDS
might be the messaging standard of choice.
      </p>
      <p>
        Although JMS, AMQP, and DDS support a variety of QoS
features, important QoS needs, e.g., ordering events from
multiple producers or the occurrence of false positives and
false negatives, are not addressed and still topics of research
and of interest for future systems. JMS and DDS are used
in QoS research: [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] presents concepts for the management
of QoS in DDS, [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ] uses the SPECjms2007 benchmark to
evaluate compliance and performance of JMS middleware.
In addition to JMS, AMQP, and DDS, which are used in
real-world applications, many research prototypes of
middleware systems exist to evaluate new concepts and features.
While JMS follows a centralized, topic-based approach,
current research systems are highly distributed and support, for
example, content or concept based pub/sub [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. The use of
these distributed event-based systems (DEBSs) is necessary
to cope with high volume of events expected to occur in
future applications. With the spread of mobile smart devices,
events are produced and received anywhere making some
sort of intelligent middleware indispensable. Research
prototypes of DEBSs are for example PADRES [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ], SIENA [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ],
HERMES [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ] or REBECA [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. Prominent research topics
include routing [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] and ltering [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] in DEBSs. Further, the
support of transactions [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] is an important property in
order to build systems supporting business-critical processes.
A system overview of DEBS addressing, amongst others,
routing, ltering and transactions is given in [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] and [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ].
Generally, QoS has not been addressed extensively in
research; a basis is provided in [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] where basic QoS metrics
(e.g., latency, bandwidth, delivery guarantees) are discussed.
In the ADiWa project we tried to apply these metrics
directly and found out that they are very technical on one
hand, and incomplete on the other, since they do not
address many of the critical functional aspects that have an
impact on QoS. Therefore, we used a list of EBS features
as a starting point to determine the functionality needs of
EBSs. From them we derived the QoS requirements.
3.
      </p>
    </sec>
    <sec id="sec-2">
      <title>QOS IN EVENT-BASED SYSTEMS</title>
    </sec>
    <sec id="sec-3">
      <title>3.1 Features in EBSs</title>
      <p>
        ADiWa started with the identi cation of business processes
which can be dynamically supported by an event-based
system. From the technical perspective this is a high-level view
and many common QoS criteria, like performance of the
EBS, are not applicable at this early stage. To address this
issue we categorized features of EBSs to enable a QoS-aware
speci cation and development process. The used features
are based upon an analysis of real-world event-based
systems [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. Examples are: support for mobility, support for
transactions, early ltering, real time capabilities, or
support for interval events. As rst step those more than 40
single features were grouped into ve main categories: event
types (e.g., support for interval events), general
requirements (e.g., handling of out of order events), (legal)
limitations and speci cations (e.g., privacy protection),
technical properties (e.g., support of prioritization), and
runtime requirements &amp; performance (e.g., latency). These
features determine which type of EBS is needed with respect
to the relevant business cases. Thus, rather than building
a Swiss army knife EBS supporting all imaginable features
and QoS needs, the requirements are matched during the
requirements engineering and development process.
      </p>
      <p>Comprehensive Understanding</p>
      <p>of Quality Needs
Event Types
General Requirements
(Legal) Limitations and Specifications</p>
      <p>Technical Properties</p>
      <p>Runtime Requirements &amp; Performance</p>
      <p>- Development Process
Figure 2 shows the above mentioned categories with respect
to the time line of a development process. As it can be seen,
general requirements as well as event types should be
identi able rather early, during the rst steps of requirements
engineering. Later on, legal limitations and further system
speci cations can be determined before technical properties
can be addressed. As last step, runtime requirements and
performance needs can be identi ed. A comprehensive
understanding of QoS is only possible after all required
features have been identi ed. A detailed speci cation of QoS
requirements can now be produced.</p>
      <p>Event-based System</p>
      <p>EarlyFiltering
Low Response Time
IntervalEvent Support
…</p>
      <p>Accuracy
Efficiency</p>
      <p>…
Response Time</p>
      <p>Yes / No
…</p>
    </sec>
    <sec id="sec-4">
      <title>3.2 Characterizing the EBS</title>
      <p>Based on the relevance of the various features in a given
application scenario a speci c EBS can be con gured that
conforms to the required QoS. Figure 3 shows the
conceptual approach of de ning QoS for certain features. For each
feature one or more metrics are necessary to measure and
monitor this feature. For some features the metric to
measure QoS might be as simple as Is supported [yes/no], for
other features multiple metrics might be necessary. An
example is the support of the feature early ltering with lter
merging and the tradeo between reduced number of lters
and increased number of false positives.</p>
      <p>By merging lters we reduce the number of lters that must
be maintained and evaluated but increase the number of
false positives and the number of forwarded messages
because the lter is now less precise. As shown in Figure 2,
early ltering results in multiple QoS attributes such as
accuracy and e ciency. E ciency is ultimately measured
through resource utilization of the broker node.</p>
      <p>Features</p>
      <p>Metrics</p>
      <p>Qualityof Service
…
A major problem that must be considered when addressing
QoS in EBSs is the fact that features and derived QoS
requirements are not orthogonal, i.e. they may in uence each
other. However, the more concrete the requirements for an
EBS are speci ed and as more design decisions are made
during the design process, the easier it becomes de ning
and monitoring QoS.</p>
    </sec>
    <sec id="sec-5">
      <title>4. A QOS AWARE INFRASTRUCTURE</title>
      <p>So far we limited the scope to event transport (MOM) and
complex event processing (CEP). As shown in Figure 4, the
complete system includes also the event production layer
and the dynamic business process layer.</p>
      <p>At the lowest level the events enter into system; at this
point there is an associated production quality. This quality
is determined by the event producers, for example wireless
sensor nodes. These nodes can monitor the environment
and have, for example, a limited accuracy (Temperature
+/- 1 degree) which might in uence later event processing.
The highest levels of the system are the business processes
driven by events where the goal is to dynamically adapt
these processes according to occurring events. The adaption
of processes is associated with QoS again: controlling
quality. Associated QoS metrics describe how well processes are
adapted and whether changes lead to improvements. This
can be measured with Key Performance Indicators (KPI)
assigned to processes. The two remaining levels of QoS
conQUALITY CATEGORY
Controlling Quality</p>
      <p>Processing</p>
      <p>Quality
(e.g. Throughput,</p>
      <p>Accuracy)
Notification Quality
(e.g. Latency,Reliability)
Production Quality
(e.g. accuracyof sensors)</p>
      <p>Dynamic Business Processes</p>
      <p>Subscribe</p>
      <p>Publish
Complex Event</p>
      <p>Processing
Subscribe</p>
      <p>Publish
Message-oriented Middleware (MOM) / Event Bus</p>
      <p>Publish
EventProducer</p>
      <p>…
RFIDReader WirelessSensorNetworks MobileDataEntry OtherProducers</p>
      <p>Publish</p>
      <p>Publish</p>
      <p>Publish
cern the inner parts of the system: the event transporting
layer as well as the event processing layer.</p>
      <p>Since QoS a ects all layers of a system a system-wide
approach for managing quality information is needed. Every
single event has its related production quality and is then
transported and processed with a certain quality. During
all these steps quality information for each event has to be
maintained either directly at the event level or at higher
granularity like event streams. The complexity of the QoS
information suggests that in addition to attaching quality
data to events a central registry for QoS data is helpful
(Figure 5).</p>
      <p>Event TransportingMiddleware</p>
      <p>TransportQuality Data
Event
Quality</p>
      <p>Data
Producer</p>
      <p>CEP</p>
      <p>Complex
Event
Quality
Data</p>
      <p>Consumer</p>
      <p>
        Quality DataRepository
QoS data can be archived. This QoS history is then
accessible and the middleware might draw conclusions during the
event transport: events originating from a sensor reporting
critical situations might require a highly reliable real-time
handling within the middleware. To support features along
these lines an appropriate event format and a system-wide
understanding of the existence of QoS is necessary.
A special challenge in terms of QoS is the support of
transactions since transactional processing does involve producers,
middleware, and consumers and thus a ects all QoS
layers. Transactions are, for instance, needed in case event
producers require acknowledgments from a consumer before
publishing another event (e.g., shipment event before billing
event). To support this functionality in a exible and
reliable way, transaction management has to be supported by
the middleware [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ]. Without middleware mediated
transactions it would not be possible to inform the event producer
whether a message was just lost or whether there is no
appropriate subscriber. Depending on this information further
steps can di er: resending the message vs. reacting to not
available subscriber.
      </p>
    </sec>
    <sec id="sec-6">
      <title>5. EVALUATING &amp; MONITORING MOM</title>
      <p>To ensure the compliance of a system with the QoS
requirements techniques based on modeling, benchmarking
and monitoring are used.</p>
    </sec>
    <sec id="sec-7">
      <title>5.1 Modeling</title>
      <p>
        Various techniques exist for the modeling of event-based
systems. A promising approach is the use of Queuing Petri Nets
(QPNs) [
        <xref ref-type="bibr" rid="ref15 ref3">3, 15</xref>
        ], which combine the advantages of Queuing
Networks and Petri Nets. The basic building blocks of a
QPN are places, transitions and tokens. Tokens ow through
the net via transitions; at each place the "processing" of a
token takes a certain amount of time, the so called service time.
In the context of event-based systems, an event is
represented by a token. After building the model and calibrating
the service times, simulation tools (e.g., SimQPN [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]) allow
predicting the throughput and latency of the whole system
in a reasonable time. In addition, resource utilization (e.g.,
CPU utilization) of single components, like brokers, can be
estimated.
      </p>
    </sec>
    <sec id="sec-8">
      <title>5.2 Benchmarking</title>
      <p>
        Another approach is the use of benchmarks to evaluate the
performance and QoS of systems. At rst, a benchmark can
test whether the promised QoS is provided by the
underlying EBS, e.g., in terms of latency. Second, a well designed
benchmark has a scalable workload allowing determining the
limits of systems and comparing implementations of di
erent vendors in an independent way. One of the challenges
when developing a benchmark is choosing an appropriate
workload. Since building separate workloads for various
application scenarios is usually not possible, a benchmark uses
a workload with properties which are characteristic for many
applications. Further, it can be designed to support
software developers and architects during the development
process. When choosing a current middleware which supports
pub/sub, e.g., following the JMS standard, the developers
still have the choice whether to use a single topic for all
messages or various topics. In terms of ADiWa the decision
would be whether to use an event bus where all events ow
through the same stream (destination), or whether to
structure events and use various streams (destinations) forming
the overall event bus. To evaluate, amongst others, these
di erent alternatives jms2009-PS was developed [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ]; it uses
the SPECjms2007 workload as a basis and emphasizes on
pub/sub messaging. SPECjms2007 is the current
industrystandard benchmark for MOM servers based on the JMS and
models a supermarket supply chain where RFID technology
is used to track the ow of goods.
jms2009-PS provides more than 80 con guration
parameters allowing the user to customize the workload in terms of
the number of destinations (topics), the number of
subscriptions, the number and type of selectors, and the message
delivery modes (QoS). With these parameters alternative ways
to implement pub/sub communication can be evaluated in
terms of their overhead, performance and scalability.
      </p>
    </sec>
    <sec id="sec-9">
      <title>5.3 Monitoring</title>
      <p>Besides modeling and benchmarking the monitoring of a
productive event-based system is important to ensure QoS.
Collected data can be incorporated with models, validated by
simulations, and utilized to develop a characteristic
benchmark workload. Further, monitoring allows the early
detection of potential bottlenecks and gives developers the
possibility to adapt and extend the system in advance.
Monitoring is done by collecting runtime information. This can
be accomplished in a pub/sub manner: each event producer
or consumer does not only publish events but also statistical
information. In addition, the event transporting middleware
itself can publish data accounting for QoS. Parties interested
in statistical data can then simply subscribe to messages
and perform further analysis. The middleware can act as a
consumer, too. By this a self-adapting middleware can be
realized which dynamically recon gures to constantly assure
the required QoS.</p>
      <p>To allow the reporting of statistical data middleware
implementations need to be adapted. Unfortunately monitoring a
system introduces an overhead. The overhead increases with
the granularity of monitoring, thus a tradeo between
monitoring granularity and potential monitoring bene ts has to
be found in productive systems. It is also possible to build
a system with adjustable monitoring capabilities. If such
a monitoring framework exists, it becomes possible to
increase the monitoring granularity either on a regular basis
or whenever an in-depth problem analysis is needed.</p>
    </sec>
    <sec id="sec-10">
      <title>6. CONCLUSION</title>
      <p>Dynamically enhancing business processes using events
originating from a variety of producers requires a middleware for
transporting the data. Within the ADiWa project
requirements for those middleware systems are a topic of research.
In this paper an approach for identifying, de ning and
ensuring QoS needs is presented. At rst, relevant features
of an EBS are identi ed; this can be accomplished stepwise
as the requirements engineering process proceeds. Based
upon the determined functionalities, QoS metrics can be
developed and evaluated using, e.g., benchmarking, modeling,
and monitoring mechanisms. This QoS-aware software
development process assures that quality needs are taken into
consideration early in the design process. In addition to the
identi cation of QoS needs the management of QoS relevant
data is a challenge. QoS data does occur at various places in
systems and thus collecting relevant parts of it in a central
repository is necessary. Based upon archived QoS data the
system can be evaluated and tuned.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>AMQP</given-names>
            <surname>Working</surname>
          </string-name>
          <article-title>Group</article-title>
          . Advanced Message Queuing Protocol,
          <year>2010</year>
          . http://www.amqp.org.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>J.</given-names>
            <surname>Antollini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Antollini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Guerrero</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Cilia</surname>
          </string-name>
          .
          <article-title>Extending rebeca to support concept-based addressing</article-title>
          .
          <source>In Proceedings of ASIS</source>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>F.</given-names>
            <surname>Bause</surname>
          </string-name>
          .
          <article-title>Queueing Petri Nets - A formalism for the combined qualitative andquantitative analysis of systems</article-title>
          .
          <source>In Proceedings of Petri Nets and Performance Models</source>
          ,
          <year>1993</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>S.</given-names>
            <surname>Behnel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Fiege</surname>
          </string-name>
          , and
          <string-name>
            <given-names>G.</given-names>
            <surname>Muehl</surname>
          </string-name>
          .
          <article-title>On quality-of-service and publish-subscribe</article-title>
          .
          <source>In Proceedings of ICDCSW</source>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>A.</given-names>
            <surname>Buchmann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Bornhoevd</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Cilia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Fiege</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Gaertner</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Liebig</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Meixner</surname>
          </string-name>
          , and
          <string-name>
            <given-names>G.</given-names>
            <surname>Muehl</surname>
          </string-name>
          . Dream:
          <article-title>Distributed reliable event-based application management</article-title>
          . In M.
          <article-title>Levene and A</article-title>
          . Poulovassilis, editors, Web Dynamics: Adapting to Change in Content, Size, Topology and Use. Springer,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>A.</given-names>
            <surname>Carzaniga</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. S.</given-names>
            <surname>Rosenblum</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A. L.</given-names>
            <surname>Wolf</surname>
          </string-name>
          .
          <article-title>Achieving scalability and expressiveness in an internet-scale event noti cation service</article-title>
          .
          <source>In Proceedings of PODC</source>
          ,
          <year>2000</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>K.</given-names>
            <surname>Chandy</surname>
          </string-name>
          and
          <string-name>
            <given-names>W.</given-names>
            <surname>Schulte</surname>
          </string-name>
          . Event Processing:
          <article-title>Designing IT Systems for Agile Companies</article-title>
          .
          <string-name>
            <surname>McGraw-Hill</surname>
          </string-name>
          , Inc.,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>P. T.</given-names>
            <surname>Eugster</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P. A.</given-names>
            <surname>Felber</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Guerraoui</surname>
          </string-name>
          , and A.
          <string-name>
            <surname>-M. Kermarrec</surname>
          </string-name>
          .
          <article-title>The many faces of publish/subscribe</article-title>
          . ACM Comput. Surv.,
          <volume>35</volume>
          (
          <issue>2</issue>
          ),
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>F.</given-names>
            <surname>Fabret</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H. A.</given-names>
            <surname>Jacobsen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Llirbat</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Pereira</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K. A.</given-names>
            <surname>Ross</surname>
          </string-name>
          , and
          <string-name>
            <given-names>D.</given-names>
            <surname>Shasha</surname>
          </string-name>
          .
          <article-title>Filtering algorithms and implementation for very fast publish/subscribe systems</article-title>
          .
          <source>In Proceedings of SIGMOD</source>
          ,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>C.</given-names>
            <surname>Fengyun</surname>
          </string-name>
          and
          <string-name>
            <given-names>J. P.</given-names>
            <surname>Singh</surname>
          </string-name>
          .
          <article-title>E cient event routing in content-based publish-subscribe service networks</article-title>
          .
          <source>In Proceedings of INFOCOM</source>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>E.</given-names>
            <surname>Fidler</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.-A.</given-names>
            <surname>Jacobsen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Li</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S.</given-names>
            <surname>Mankovski</surname>
          </string-name>
          .
          <article-title>The PADRES distributed publish/subscribe system</article-title>
          .
          <source>Feature Interactions in Telecommunications and Software Systems</source>
          , VIII,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>A.</given-names>
            <surname>Hinze</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Sachs</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Buchmann</surname>
          </string-name>
          .
          <article-title>Event-based applications and enabling technologies</article-title>
          .
          <source>In Proceedings of DEBS</source>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>J.</given-names>
            <surname>Ho ert</surname>
          </string-name>
          , D. Schmidt,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Gokhale</surname>
          </string-name>
          .
          <article-title>A QoS policy con guration modeling language for publish/subscribe middleware platforms</article-title>
          .
          <source>In Proceedings of DEBS</source>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>S.</given-names>
            <surname>Kounev</surname>
          </string-name>
          and
          <string-name>
            <given-names>A.</given-names>
            <surname>Buchmann. SimQPN -</surname>
          </string-name>
          <article-title>a tool and methodology for analyzing queueing Petri net models by means of simulation</article-title>
          .
          <source>Performance Evaluation</source>
          ,
          <volume>63</volume>
          (
          <issue>4</issue>
          {5),
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>S.</given-names>
            <surname>Kounev</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Sachs</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Bacon</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A. P.</given-names>
            <surname>Buchmann</surname>
          </string-name>
          .
          <article-title>A methodology for performance modeling of distributed Event-Based systems</article-title>
          .
          <source>In Proceedings of ISORC</source>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>C.</given-names>
            <surname>Liebig</surname>
          </string-name>
          and
          <string-name>
            <given-names>S.</given-names>
            <surname>Tai</surname>
          </string-name>
          .
          <article-title>Middleware mediated transactions</article-title>
          . In G. Blair,
          <string-name>
            <given-names>D.</given-names>
            <surname>Schmidt</surname>
          </string-name>
          , and M. Takizawa, editors,
          <source>Proceedings of DOA</source>
          ,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>Object</given-names>
            <surname>Management</surname>
          </string-name>
          <article-title>Group (OMG). OMG Data Distribution Service (DDS) Speci cations</article-title>
          .
          <year>2007</year>
          . http://www.omg.org/spec/DDS/.
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>P.</given-names>
            <surname>Pietzuch</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Eyers</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Kounev</surname>
          </string-name>
          , and
          <string-name>
            <given-names>B.</given-names>
            <surname>Shand</surname>
          </string-name>
          .
          <article-title>Towards a Common API for Publish/Subscribe</article-title>
          . In
          <source>Proceedings of DEBS</source>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>P. R.</given-names>
            <surname>Pietzuch</surname>
          </string-name>
          and
          <string-name>
            <given-names>J.</given-names>
            <surname>Bacon</surname>
          </string-name>
          .
          <article-title>Hermes: A distributed event-based middleware architecture</article-title>
          .
          <source>In Proceedings of ICDCSW</source>
          ,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <surname>Red</surname>
            <given-names>Hat</given-names>
          </string-name>
          , Inc. JBoss HornetQ, http://www.jboss.org/hornetq,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>K.</given-names>
            <surname>Sachs</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Appel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Kounev</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Buchmann</surname>
          </string-name>
          .
          <article-title>Benchmarking publish/subscribe-based messaging systems</article-title>
          .
          <source>In Proceedings of BenchmarX</source>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <given-names>K.</given-names>
            <surname>Sachs</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Kounev</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Bacon</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Buchmann</surname>
          </string-name>
          .
          <article-title>Performance evaluation of message-oriented middleware using the SPECjms2007 benchmark</article-title>
          .
          <source>Performance Evaluation</source>
          ,
          <volume>66</volume>
          (
          <issue>8</issue>
          ),
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <given-names>Sun</given-names>
            <surname>Microsystems</surname>
          </string-name>
          .
          <source>Inc. Java Message Service Speci cation Final Release 1.1</source>
          ,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          <source>[24] The Apache Software Foundation. Apache ActiveMQ</source>
          , http://activemq.apache.org/,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>