ECCO: Event Brokering in a Distributed Adaptive Mobile Environment
Part 1: Previous
research and track record
This proposal seeks
funding for a PhD student to carry out research into an Event Brokering System
on messaging middleware in a distributed mobile environment. Below, the
background of the Opera group in the University of Cambridge Computer
Laboratory and the proposed PhD student (Eiko Yoneki) are described. Part 1
references (1-8) are included with Part 2.
Jean
Bacon is a Reader in Distributed Systems at the University of Cambridge
Computer Laboratory. She co-leads the Opera research group where the focus is
on the design and deployment of open, large-scale, widely distributed systems.
Two major thrusts are in the areas of asynchronous middleware, originating with
the Cambridge Event Architecture (CEA),
and an open access control architecture
for secure interworking services (OASIS). An
overview of the work is given in [1, 2].
A recent grant in the area of this proposal
is Global Computing Using Events, EPSRC GR/M22413. Our publish, register,
notify paradigm was incorporated into standard CORBA, using CORBA-IDL to
specify events. Subsequently, we added event storage to the architecture and
used ODL for event typing and OQL for querying event stores. The software is
available from our web site,
http://www.cl.cam.ac.uk/Research/SRG/opera/projects /index.html. Its
application in a pervasive computing environment is demonstrated in [3].
The
focus in CEA and its extensions was to augment object-oriented middleware (then
prevalent), which is based on synchronous method invocation, with asynchronous
event-based communication. Even so, all communicating parties have to be mutually
aware and simultaneously active which is appropriate for a localised pervasive
computing environment or a federation of such environments. We went on to
develop Hermes [4] in which we have investigated the use of XML and an
event-broker system for wide-area, scalable event transmission, while retaining
CEA's notion of event type, type hierarchy and super-type subscriptions. Using
typed events and type hierarchies helps in federating event systems; we use
gateway event services to negotiate contracts for cross-domain event
registration and notification [6]. A scalable routing algorithm using an
overlay routing network avoids global broadcasts by creating rendezvous nodes.
Fault-tolerance mechanisms that can cope with different kinds of failures in
the middleware are integrated with the routing algorithm resulting in a
scalable and robust system. A list of our publications in the area of
event-based systems can be found at
http://www.cl.cam.ac.uk/Research/SRG/opera/projects/ This proposal is to provide support for
mobile senders and receivers.
In addition to grant-focused research, Jean
Bacon has supervised graduate students at the Computer Laboratory in distributed
systems since 1985, leading to 19 PhD awards and a further seven in their first
to fourth years. She has examined 19 other internal and 12 external,
international PhDs in related topics. Employment of her recent graduate
students includes Citrix Research UK, AT&T Research UK, University
Lecturers in Cambridge, Singapore and Egypt, Telcordia US, Cisco US, Fore UK,
FutureTV Cambridge, Microsoft Research Cambridge.
Jean Bacon was Editor-in-Chief of IEEE
Concurrency during 1999 and 2000. From mid 2000, she was EIC of the IEEE
Computer Society's first online magazine, Distributed Systems Online,
http://computer.org/dsonline. She was recently elected to the IEEE-CS Board of
Governors for 2002-2004. Recent conference participation includes:
Eiko Yoneki (please see appended work
experience details)
Eiko has extensive experience as a
software engineer. Through her work with IBM she had several opportunities to
collaborate closely with researchers at IBM Almaden Research, IBM Zurich
Research, IBM Heidelberg Network Laboratory and IBM Yorktown Heights Research
(see enclosed Work Experience). All of these projects were shipped as strategic
IBM products. She has experience in software engineering with extensive work in networking and
communications, client/server software, object-oriented programming and product
development. She is an experienced software developer and is fluent in most mainstream
object oriented and structured programming languages as well as in network
protocols (OSI, TCP/IP, NETBIOS, HTTP, etc.), frameworks, and APIs.
In the WebExpress project (1996-8), she
worked on a pioneering project (Java API) that includes a notification mechanism
between a C++ server and a Java Client over different address spaces and
structured event subscriptions for event traffic control. An IBM networking division
technical award was given for this achievement. Since 1996, she has been
working intensively on Java-based Internet middleware over mobile/wireless and
network computer environments with optimization of protocol streams, security,
and asynchronous messaging models.
She received a postgraduate Diploma in Computer Science from the University of Cambridge in 2002. Her dissertation “A MobileGateway with a Publish/Subscribe Paradigm over a Wireless Network”, is a middleware system for mobile applications with messaging as a basis. Her system Pronto [7] uses the Java Message Service (JMS) [34] with extensions and provides a solution for mobile application-specific problems such as resource constraints, network characteristics, and data optimisation. The publish-subscribe paradigm was integrated into the mobile environment and an intelligent gateway was introduced as a message hub to transmit information using store-and-forward messaging. The dissertation obtained an award and two papers [7,8] have been accepted for publication
This proposal is for support for Eiko to carry out PhD research in the Opera group, under Jean Bacon’s supervision, on current challenges in event-based distributed systems including mobile/wireless environments. Her previous experience, both in industrial research and through her Cambridge Diploma dissertation work, makes her ideally suited to this endeavour.
2.1 Introduction and
Background
Client-end computing devices are becoming increasingly mobile and are based on different communication models. Large scale distributed systems should offer load sharing and load reduction for good performance. These key issues are more complex for mobile/wireless-based applications and web-based services. Characteristics of mobile environments and wireless networks and corrsponding requirements on middleware are as follows:
· Mobile devices have small ROM/RAM footprints and low CPU and power usage. Remote processing and resource sharing should be offered by the middleware.
· Wireless networks are increasingly packet-oriented. With a bearer such as GPRS (General Packet Radio Service) or UMTS (Universal Mobile Telecommunications System) users typically pay only for the time they communicate data. Reducing data size for transmission is important.
· Because of low bandwidth, high latency, and frequent disconnections, a middleware should provide an interface to applications that allows maintenance of communication during disconnected operation.
· A data source can be interpreted in different formats and semantics depending on the specifications of mobile devices and wireless networks. Semantic transcoding technology [29] provides better efficiency in data flow.
· There are various bearers such as 2G, 2.5G, 3G, Bluetooth, and IEEE 802.11, and many devices are non-programmable. A middleware needs to offer an interface with a communication abstraction and a gateway/proxy for the clients’ devices.
· An ad-hoc network, a feature of some mobile/wireless networks, is a dynamically re-configurable wireless network without a fixed infrastructure that does not require the intervention of a centralised access point.
The architecture of a distributed system at this level needs careful consideration, and it is essential to provide core functionality for such a system as a semantics-based middleware; that is, resources must be tailored to the required services and applications to give seamless access and unrestricted mobility.
Evolution of communication for loosely coupled, mobile components
As discussed in Part 1, closely coupled (synchronous) communication, as provided in object oriented middleware (OOM) such as Java RMI and CORBA, is not appropriate for loosely coupled, and/or mobile, senders and receivers. OOM-providers added (asynchronous) message passing extensions but static dependencies remained and none supported wide-area, large-scale interworking where participants might be anonymous, might detach or move. The minimum requirement for these is Message Oriented Middleware (MOM), underlying event-based systems, so that heterogeneous, distributed, and dynamically changing components of large information systems can interoperate. This is acknowledged in the business domain through the provision of Sun’s JMS API [26] as a common interface for Java applications to IBM’s MQSeries [25], Microsoft Message Queue (MSMQ), TIBCO’s TIB/Rendezvous [39], Softwired’s iBus [37], and BEA’s WebLogic [41].
In the research domain, in addition to Hermes [4] described in Part 1, the Siena project [10,11,12] created a distributed event service. The three main components, event sources, event sinks, and event brokers can be interconnected in an arbitrary topology. Gryphon [24] is a distributed topic-based and content-based message brokering system that uses an information flow approach to model its behaviour. The Grid Event Service [14] is designed for a large, decentralized network of services. It groups event brokers into a hierarchical cluster topology and supports reliable delivery of events by using persistence features. Narada [30] is based on the Grid Event Service and implements the JMS API. None of these systems support mobile sources and sinks with substantial consideration of the mobile computing specific environment.
Peer-to-Peer (P2P), a new paradigm
A complementary type of distributed system, based on the peer-to-peer network, emerged independently of the enterprise domain. The peer-to-peer style interaction model facilitates sophisticated resource sharing environments between peers over the edges of the Internet. Peer interactions involve advertising resources, search and subsequent discovery of resources, request for access to these resources, responses to these requests, and exchange of messages between peers. Scribe [42] from Microsoft is a topic-centric publish/subscribe messaging system based on the peer-to-peer platform Pastry [33]. Pastry utilizes routing mechanisms to achieve great scalability. Scribe depends on Pastry to route messages to the destinations. Siena [10,11,12], Gryphon [24], Hermes [4] and Narada [30] are also built over peer-to-peer network.
Some initiatives were recently made towards building libraries or frameworks for deploying peer-to-peer applications. Sun Microsystems’ JXTA [38] is a library specification for peer-to-peer computing, defining three layers: a core layer, a service layer, and an application layer. The application layer wraps all the applications that are developed by JXTA programmers. The service layer contains services simplifying the development task for the programmer. The JXTA community currently implements various services such as protocols for service discovery and many-to-many communication. The core JXTA layer consists of protocols ensuring basic communication between peers, message routing or peer group creation. We intend to start from JXTA, extending it to support mobility.
With the emergence of peer-to-peer infrastructures, new forms of decoupled interactions are needed. It is challenging to devise a simple abstraction that can directly fit these architectures and potentially be supported by future Internet-wide operating systems. Creating a grid of event brokers is an interesting key technique to provide reliability and scalability in an event-based distributed system. Event brokers could form a group to provide scalability at the cluster level; which may then be linked together for geographic scaling through link bundles that provide redundant connections between groups.
Integration of
event-based systems and mobile computing is immature
In the enterprise domain, messaging is becoming the dominant style
of communication among components, because it supports decoupled interactions.
However, intranets with centralised administration are still predominant.
Recent extensions to mobile computing are done by adding an edge server to
manage mobile devices, as in Softwired iBus/Mobile
[37]. iBus/Mobile is designed as an extension of J2EE application servers. It
includes a messaging middleware client library compatible with the JMS standard
as well as a middleware gateway used to connect mobile applications to J2EE
application servers. It supports mobile communication-specific protocols such
as GPRS, UMTS, and CDPD. This approach is not fully scalable to more dynamically
extended business over the Internet via web services or mobile computing.
In the research domain,
peer-to-peer network based messaging has been evolving. Because of the power of
the publish/subscribe paradigm, this will be the way to establish communication
platform over wide area networks. However, support for mobile computing is not
yet sufficient. Most research is focusing on integrating ad-hoc networks into
peer-to-peer networks, but this will not support mobile computing in its full
generality. IBM released the
WebSphere Event Broker with MQ Everyplace for the integration of event-based
systems with mobile applications. These decentralised event-based systems are
still immature and fragmented; integrating a mobile environment requires architecting
event-based systems on both wired and mobile networks from a unified viewpoint
[16,17, 28]. Thus,
there is a strong need for research on how we can abstract messaging in hybrid
mixed environments.
Pronto (by Eiko Yoneki
[7]) addresses design issues for a messaging system in mobile environments and
provides a lightweight MOM client, a gateway as a message hub with
store-and-forward messaging, and Serverless, MOM-based IP multicast over JMS
environments. Pronto offered a similar concept to an event broker over a JMS
environment addressing data optimization through semantic transcoding and
cascading gateways. The proposed research builds on this start and will create an event-based distributed
system Ecco over a peer-to-peer network using a multi event broker
model. Other event-based systems will be integrated within a unified interface
and, in particular, we will adapt Ecco to mobile computing environments and web
services. Our aims are as follows; how we will meet them is described in
Section 2.2.
·
To
design an event-based system providing publish-subscribe functionality and
implementation based on JXTA
·
To
design and implement algorithms for dynamic, event-broker grid formation with
context-awareness and infrastructure for constrained mobile computing
environments
·
To
design and implement service discovery over an event broker system
·
To
integrate other event-based systems (e.g., Java Message Service -JMS)
·
To
design and implement a gateway for non-programmable mobile devices and provide
optimised data flow
·
To
provide a security framework
·
To provide
an engine for processing composite events for an active information framework
(see the detail for2.2.3)
·
To
evaluate the performance of the system
2.2 Methodology and work
programme
An overview of the project is given in the enclosed workplan which
comprises six main phases. First, components of a JXTA-based system will be
designed and integrated in workunits 1 and 2. Creating an event broker
grid (Unit 2.1) is a key factor in providing reliability and scalability
in an event-based distributed system. The grid consists of event brokering
agents (called also broker agent or agent), and a broker agent
performs routing, receiving events, and sending events. Broker agents can form
a group to provide scalability at the cluster level; a group of agents can then
be linked together in a flexible,
fault-tolerant, efficient, high-performance fashion in a publish-subscribe
model. Dynamic grid
formation is essential, including context-awareness and an infrastructure such
as hierarchy and grouping for better performance. The proposed system is for
wide area networks and requires service discovery, various
communication schemes, fault tolerance, and
security (workunits 3 and 4).
The event broker
approach is attractive for the integration of generic event-based systems with
mobile computing and web services, because it allows heterogeneous messaging
systems to be combined under a unified interface (workunit 3). In particular, constrained mobile devices can take advantage of resource
sharing from middleware systems. Non-programmable devices will be integrated
with event broker systems by means of a gateway (unit 3.2).
Another important goal in this
research is to adapt an Event Condition Action (ECA) Rule Engine (workunit 5)
for running components that are required to perform active rule computations
within broker agents. Combining ECA-rules, complex event composition, and
detection with event-based systems should provide a sound active information
framework for workflow construction. We also aim at establishing a unified semantics-based API across event
broker implementations including messaging across brokers.
Ecco uses JXTA as
a base, which provides a general peer-to-peer platform (workunit 2).
Ecco constructs an event broker agent system on top of JXTA and the distributed
event-based interaction, which provides the abstraction to hide the mechanism
of a low-level JXTA peer-to-peer library, enables preservation of the decoupled
flavour of peer-to-peer applications. JXTA offers a solid peer-to-peer platform
supporting routing and security, a membership service, a discovery service, a
local cache, and pipes for communication endpoints for peers. Although JXTA is
not a mature peer-to-peer platform, and several performance issues have been
raised, it is the most promising starting point. We expect this research to
contribute to the evolution of JXTA. Alternatively, Ecco could construct a
native mode of event broker agent grid with Pastry. An overview of an event
broker agent system is shown in Figure 1. Broker agents are linked together to
form a grid of event broker systems. Connectors provide a proxy to communicate
with different event-based systems such as a JMS based messaging system. Gateway connectors provide an
edge point to those mobile devices that are not capable of communicating
directly with the event broker agent system.
Broker agents triggered by event condition action may spawn mobile
agents, which perform temporal broker agent functions
at the specified location.
Mobile agents are autonomous code entities that can stop, move themselves to
another agent-enabled host on the network, and continue execution, deciding
where to go and what to do along the way.
Figure
1. Overview of Ecco - an Event Broker Agent System
Ecco
consists of the following two main components (workunit 1):
·
Event
Broker Agent (detailed in section 2.2.1)
consists of Discovery, Reliability, Security, QoS, Communication Transport, and Publish-Subscribe services as sub-components.
·
ECA Rule
Engine (detailed in section 2.2.2) is
embedded in Event Broker Agent.
Figure 2. Ecco Components
The
base of Ecco is a peer-to-peer grid comprising resources such as relatively
static clients, high-end resources and a dynamic collection of multiple
peer-to-peer systems. For a hybrid environment, services can be hosted on such
a peer-to-peer grid with peer groups managed locally and arranged into a global
system supporting core servers. Access to services can then be mediated either
by the agent or alternatively by direct peer-to-peer interaction between
machines. The distributed broker approach scales best globally, but is less
suitable for managing the rich structure of the transient service
characteristics of complex tasks.
In
the Event Broker Agent a transient component named baglet (see
Figure 2) is used for the subscription and distribution of events. A baglet is
responsible for receiving an event, either asynchronously or synchronously,
performing any ECA rule defined for the event, and generating new events that
are published back to the agent. A baglet is activated (by the agent) to handle
one particular event, after which it terminates. A connector is a specific type
of baglet that has slightly different runtime semantics. The connector is
permanently active in the agent where it is deployed and is used to interface
with JMS, JXTA groups, and the gateway to the specific network environment. Design
issues on the functions of an event-broker agent are listed below:
Topology and Dynamic Grid Formation (unit 2.1): A peer-to-peer topology is fully decentralized, with no central servers or routers involved. It allows many network nodes, because connections and workload are shared among peers. The disadvantage is high latency, because messages have usually to traverse multiple peers. In addition, slow peers on the route degrade performance. The peer-to-peer cluster topology is a more recent approach. The network is divided into clusters that have knowledge of the peers. Clustering helps to lower unnecessary traffic but still lacks efficient group communication mechanisms. A heterogeneous and dynamic service for peer-to-peer networks when the grid is created or changed is especially important for the integration of a mobile computing environment.
· Adding infrastructure to the topology Adding a hierarchy facilitates route aggregation to decrease network load, which is imposed by traditional broadcast-style techniques. Another possibility would be a virtual overlay network for each topic group, or specific device groups, independently of the existing peer-to-peer network, allowing a more efficient set up of the topology. In addition, the topology could also be adjusted dynamically to respond to changes and optimise delivery. Only the bandwidth of involved peers is consumed since the virtual network includes only peers interested in a topic. Introduction of hierarchy and grouping should also provide performance benefits, since they reduce broadcasts significantly.
· Location and Context-awareness - allows peer-to-peer applications to exploit information on the underlying network context for better performance and better group organisation [18,35]. Information such as location, availability of resource, battery power, services in reach, and relative distances can be used to improve the routing structure of the peer-to-peer network, thus reducing the routing overhead.
Routing Algorithm and Subscription Language (unit 2.2): Topic-based addressing is an abstraction of numeric network addressing schemes. With content-based subscription as used in Siena [10], Gryphon [24], and Elvin [36], delivery depends only on message content, and applications can therefore select different combinations of messages without changing the addressing structure. Content-based subscription extends the capability of event notification with more expressive subscription filters compared to topic-based subscription. The most advanced and expressive form of subscription language is content-based with pattern matching; such a language is important for event notification.
Common topic-based systems arrange topics in hierarchies, but a topic cannot have several super topics. Type-based subscription, introduced in [4, 19, 20, 21], provides a natural way of doing this if the language offers multiple sub-typing, thus avoiding any explicit message classification through topics. This works well with typed languages, but it is complex to deploy this degree of serialisation of objects. Also, mobile applications may not have the concept of objects or typing. It is therefore better to provide an abstraction of an addressing scheme based on the current name-based addressing. Supporting hierarchy and wildcards in the topic allow subscribers flexibility in subscriptions. The combination of hierarchical topics and high speed content filtering provides the flexibility necessary to allow applications to evolve beyond their initial design. In Pronto [7], besides topic-based routing, a filtering function that selects messages based on their content is supported. The content filter language is based on the WHERE syntax of SQL92 over XML messages. Content-based publish/subscribe is essential for better (filtered) data flow in mobile computing. An event broker agent serves the event service to satisfy the information needs of all connected event consumers by topic and content-based routing of notifications. Embedding routing decisions at each agent, depending on the content, can be expensive but offers several advantages. The combination of topic and content-base routing is best for mobile computing.
Communication Transport (unit 2.3): Wireless data networks have more constrained communication environments than wired networks, due to mobile computing. Thus, communication has to be extremely efficient. [13,22,27]. In general, a messaging system deployed on a public network cannot depend on homogeneous router technology, and it should not rely on LAN or IP multicast technologies. Instead, universally adopted standards such as TCP/IP or HTTP should be used for all communication. However, multicast can provide an efficient way of sending data to many destinations, and recent developments such as Pragmatic General Multicast (PGM) [23,31] brought a new dimension to multicast [9]. If a suitable network communication is available, it should be used to get the best performance for data transmission. On the other hand, messaging systems require broader functionality for various QoS parameters like message priority and expiration time. These parameters directly influence the message distribution process. Messages with high priorities are forwarded earlier than concurrent messages with low priority. Handling QoS parameters has to be in the overlay network layer to be efficient. Thus, there should be a dynamic configuration function of communication [15]. Ecco will provide different communication protocols between client and agent and between agents in a well-hidden manner. JXTA offers Pipes for communication endpoints for peers, and by using the JXTA Pipes service framework several protocols can be implemented such as Application layer multicast, Reliable multicast over IP multicast, PGM, TCP/IP, SSL, HTTP (HTTPS), RMI and SOAP.
Remote processing and Mobile Agents (unit 2.4): In an event broker agent, we plan to use mobile
agent technology to activate event reaction objects, so that mobile devices can
take advantage of resources from the event broker agent grid to execute
processes remotely and automatically obtain results from the devices. Mobile agents are
autonomous, intelligent programs that travel to the target agent and apply corrective actions. Agents act as
key components within an event broker agent grid, and combining ECA and mobile agent technology offers an
effective computational framework for comtemporary business practices.
2.2.2 Federation (workunit 3) and large-system extensions (workunit 4)
JMS Integration (unit 3.1): A bridge function to JMS is
designed as a connector. A JMS connecter is instantiated for a JMS connection,
and list of sessions will be managed. Integrating JMS will transparently replace a single server or
a limited server JMS systems with a large scale distributed solution which has
failure resiliency, dynamic load balancing and scaling.
JXTA Integration (unit 3.1): We plan to implement a bridge function to JXTA by a proxy node sitting between Ecco and a JXTA
group. JXTA interactions that would be routed by Ecco are fed through the proxy
node, which also serves as a rendezvous peer.
JMS clients can also interact with JXTA peers.
Gateway Integration (unit 3.2): In Pronto, we have
introduced Gateway to obtain good performance in messaging over a
mobile/wireless network. Gateway is a message hub to transmit information with
store-and-forward messaging that provides powerful optimisation and data
transformation. SmartCaching is an intelligent cache function with Pull,
Subscribe, and Snapshot services. Gateway provides a disconnect
operation by using a cache. Figure 3 shows the gateway connector as a bridge between
Ecco and Pronto to integrate them.
Figure 3. Gateway
Connector
Web services Integration (unit 3.3): A web service is a
computer program running on either a local or remote machine with a set of
well-defined interfaces (ports) specified in XML (WSDL). Web services
communicate using messages. Support
for JMS and JXTA in Ecco will ensure that the web services run seamlessly
within the same API to either classic 3-tier (client-middleware-server) or
peer-to-peer environments.
Message Interoperability (unit 3.1-3.3): The above integration of different event-based
systems requires message translation, because it is unlikely that there will be
a single event service standard. Establishing a common message format for
events and messages will be important in gaining interoperability on the grid.
Service Discovery (Naming) (workunit 4, unit 4.1): In distributed
peer-to-peer networks, service discovery is complex as hosts frequently join
and leave the overlay network. In mobile systems service discovery may become
even more complex especially in ad-hoc or mixed systems. Current widely used
peer-to-peer networks rely on central directory servers or massive message
flooding, clearly not a scalable solution.
In such a system, a service is an entity that can be used by a program
or another service. Ecco will combine that functional concept and will create a
unique service discovery framework using JXTA. In Ecco, Agent Locator takes
care of service discovery, and clients do not need to keep track of Agent
Locators. The Agent Locator has properties and constraints based on which it
decides on the agent that a client will connect to.
Security (unit 4.2): A
messaging system deployed over public networks must provide security and
privacy features to a degree not mandated over private secured networks. These
features must include client authentication, access controls, and encryption/integrity
of messages. Because of decentralized environments with frequent disconnection,
it is hard to provide robust authentication. Grid Security can be deployed on Kerberos/PKI
through JXTA security services, but the following aspects require consideration:
· Message level: support
encryption and cryptography for integrity of messages
· Authentication/authorization:
tunnelling from clients allows public agents to be reached from within intranets.
· End-to-end encryption:
allows content-based routing without excessive cost for cryptographic
operations.
Reliability and Fault-tolerance (unit 4.3): The architecture of event-based systems should
be tolerant to error and network fallout. It should provide an application
programmer with the ability to acknowledge and identify such conditions and
pursue alternative means to continue.
The new requirements for event-based systems, high availability auditing, and tracking requirements from enterprise application integration, have shown the increasing importance of databases in event-based computing, especially in large-scale application integration [32]. The need to track changing business information reflected in databases has driven the development of active database technology and continuous query management. The Semantic Web [40] offers a research perspective for automating business processes. Rule mark-up languages [34] allow modular business rules to be expressed as stand-alone units in a declarative way. Also, publishing and exchanging them between different systems and tools will play an important role for facilitating business-to-customer (B2C) and business-to-business (B2B) interactions over the web. Reaction rules allow the specification of the reactive and communicative behaviour of a system or agent (in other contexts these are called event-condition-action (ECA) rules or triggers).
In event-based distributed systems, composite events represent complex patterns of activity from distributed sources. Although composite events have been a useful modelling tool in active database research and telecommunications network monitoring, little progress has been made in using them in large-scale, general-purpose distributed systems. This new requirement will require further work on event composition; ongoing Opera group work in this area is described in [5] and the approach remains to be evaluated.
The Event
Condition Action (ECA) paradigm underpins the way in which large distributed
systems are constructed and we propose to create an ECA Rule Engine in
Ecco. ECA triples can be combined to express rules
based on event detection, the application of conditions, and the execution of actions.
That is, when something occurs, and an ECA rule can determine what occurred, an
appropriate action is triggered. An ECA Rule Engine is a set of interfaces and
semantics that describe the components required to build ECA rules; it supports
the definition, execution and deployment of ECA rules that are applied to
events. Its goal is to run the components that are required to perform active
rule computations expressed through the ECA rule paradigm. Scalable
multi-threaded rule sessions for monitoring complex event sequences will reside
in the Event Broker Agent. This is consistent with the Semantic Web approach,
since the events are most likely to be exchanged among all clients, and the
decision logic should be described in a unified way..
In
workunit 6 the system will be integrated and tested and evaluation will
be carried out. Our methodology is to test the earlier workunits as they
develop (see the milestones in the workplan), and this latter stage is
to evaluate the integration of the already tested system components.
2.3 Beneficiaries
This research aims to create a
comprehensive software platform for extending Internet-based applications to a
wide range of network-edge (pervasive) devices that can enable end-to-end
solutions across multiple market segments. Device and server-side software can
help device manufacturers, application developers, and platform integrators to
streamline the production and rollout of small-footprint applications that will
generate new businesses, and differentiate their products with innovative service
packages. As an example, it could be used for pervasive
computing, thus providing personalised, instantaneous access to information (stock quotes,
news, email, calendar-alerts, etc.), in real-time and in a reliable manner.
Integrating an
Event Condition Action (ECA) engine with event broker systems is the way to
construct large distributed systems where events are the common currency.
Events reflect the movement and flow of information around a system. At the
highest level, the business events describe the processes that define a
business and how it works. At the lowest level, they reflect the internal
processes within a system and how the individual parts interact with each
other.
2.4 Dissemination and
exploitation
The Opera group pioneered event-based systems in the mid 1990s as the paradigm for pervasive and mobile computing. We will continue to participate as organisers and programme committee members of workshops and conferences in the area. We will publish our work (Eiko has had two papers on her Diploma dissertation accepted for an ICDCS workshop and Middleware 2003). As milestones are met we will make the software available for download by other researchers.
2.5 Resources
We
request support for travel and subsistence to present our work (for example at
Middleware, ICDCS, ACM SIG Mobile, DEBS) and to maintain contact with other
groups working in the area, for example TU Darmstadt (Rebeca) and IBM TJW
(Gryphon). Opera group members spent three month periods with both of these
groups in 2002. Also we request support for ten percent of a Computer Officer,
to support the extensive experimental work, and equipment for implementing Ecco
including trials with small mobile devices and a substantial simulation to
evaluate the large-scale system.
Summary
In
the enterprise domain, messaging is becoming the dominant communication
mechanism, through its support for decoupled interactions. However, intranets
with centralised administration are still predominant. Some attempts have been
made to integrate mobility but these have been ad hoc; no-one is providing a
solution that fully integrates mobile computing and traditional messaging.
In the research domain,
P2P based messaging, with the publish/subscribe paradigm, has emerged as the
most promising approach to communication over wide area networks. But it has
not yet integrated mobility. The alternative research focus for mobile
computing, Ad-Hoc networking, does not fully address wide-area, large-scale
solutions.
There
is therefore a need for research on how a P2P substrate can be built on to
provide unified support for mobile sources and sinks for large-scale, widely
distributed environments. Ecco addresses this need.
References
[1] J.
Bacon, K. Moody, J.Bates, R.Hayton, C.Ma, A.McNeil, O.Seidel, and M.Spiteri,
Generic Support for Distributed Applications, IEEE Computer, pp.68-77, Mar.
2000.
[2] J.
Bacon, K.Moody, and W. Yao, Access control and trust in the use of widely
distributed services, In Middleware 2001, Vol.2218 of Lecture Notes in Computer
Science, pp.300-315, November, 2001.
[3] A.
Hombrecher and A. McNeil, The Active House Project, http://www.cl.cam.ac.uk/Research/SRG/opera/projects/active-house,
1998.
[4] P. Pietzuch and J. Bacon, Hermes: A
Distributed Event-Based Middleware Architecture, Proceedings
of the 1st International Workshop on
Distributed Event-Based Systems (DEBS'02) with IEEE ICDCS,, July 2002.
[5] P.
Pietzuch, B Shand and J. Bacon, A Framework for Event Composition in
Distributed Systems, accepted for Middleware 2003.
[6] J.
Bacon, A. Hombrecher, C. Ma, K. Moody, and W. Yao, Event Federation and Storage
using ODMG, Proceedings of the 9th International Workshop on Persistent
Object Systems: Design, Implementation and Use (POS9), pp.265-281, 2000.
[7] E.
Yoneki and J. Bacon, Pronto:A MobileGateway using the Publish/Subscribe
Paradigm over Wireless Networks, Technical Report UCAM-CL-TR559, Computer
Laboratory, University of Cambridge, also to appear in ACM/IFIP/USENIX
International Middleware Conference (WiP session), June 2003.
[8] E.
Yoneki and J. Bacon, Gateway: a Message Hub with Store-and-forward Messaging in
Mobile Networks, to appear in Proceedings of the 23rd International
Conference on Distributed Computing Systems – Workshops on Mobile Computing
Middleware (ICDCS – MCM03), May, 2003.
[9] G. Banavar, T. Chandra et al, An
Efficient Multicast Protocol for Content-based Publish-Subscribe Systems, Proceedings
of IEEE International Conference on Distributed Computing Systems (ICDCS),
1999.
[10] A.
Carzaniga et al., Content-Based Addressing and Routing: A General Model and its
Application, Technical Report, University of Colorado, 2000.
[11] A.
Carzaniga, D. Rosenblum, and L. Wolf, Design and Evaluation of a Wise-Area
Event Notification Service, ACM Trans. On Computer Systems, 19(3) pp.332-383,
Aug. 2001.
[12] A.
Carzaniga, D. Rosenblum, and L. Wolf, Architecturing Scalability and
Expressiveness in an Internet-Scale Event Notification Service, Proceedings
of the 19th ACM Symposium on Principles of Distributed Computing
(PODC ’00), July, 2000.
[13] C. Chiang, M. Gerla, and S. Lee, On-Demand
Multicast Routing Protocol”, Proceedings of IEEE WCNC ’99, pp.1298-1302,
1999.
[14] G. Fox et al., An Event Service to
Support Grid Computational Environment, Concurrency and Computation: Practice
and Experience, 2000.
[15] J.
Crowcroft et al., Channel Islands in Reflective Ocean: Large-Scale Event
Distribution in Heterogeneous Networks, IEEE Communications Magazine, Vol.40
No.9, pp.112-115, September, 2002.
[16] G.
Cugola and E. Nitto, Using a Publish/Subscribe Middleware to Support Mobile
Computing, Middleware for Mobile Computing Workshop, 2001.
[17] G.
Cugola, E. Di Nitto, and A. Fuggetta, Exploiting an event-based infrastructure
to develop complex distributed systems, Proceedings of the 19th
Int. Conf. On Software Engineering (ICSE98), 1998.
[18] R.
Gold et al., Use of Context-Awareness in mobile Peer-to-Peer Networks, 8th IEEE Workshop on
FTDCS, 2001.
[19] P.
Eugster, and R.Gueraoui, Content-Based Publish/Subscribe with Structural
Reflection, Proceedings of the 6th USENIX Conference on
Object-Oriented Technologies and Systems (COOTS01), Jan. 2001.
[20] P.
Eugster, P. Felber, R. Guerraoui and J. Sventek, Type-Based Publish/Subscribe,
Technical Report, EPFL, Lausanne, 2000.
[21] P. Eugster et al., The Many Faces
of Publish/Subscribe, Technical Report
TR-DSC-2001-04, EPFL, 2001.
[22] S. Floyd et al., ``A
Reliable Multicast Framework for Light-weight Sessions and Application
Framing'', ACM SIGCOMM'95.
[23] J. Gemmell et al., The PGM Reliable
Multicast Protocol, IEEE Network special issue on "Multicasting: An Enabling
Technology", 2003.
[24] Gryphon: Publish/Subscribe
over public networks, IBM Research, http://researchweb.watson.ibm.com/grypohn/Gryphon/gryphon.html.
[25] IBM MQ Series, http://www.ibm.com/software/ts/mqseries/.
[26] Java Message Service (JMS) Specification, http://java.sun.com/products/jms/.
[27] M.
Kadansky, ‘Tree-based Reliable Multicast Protocol’, http://research.sun.com/techrep/authors/Kadansky,+Miriam.html.
[28] C.
Mascolo, L. Capra, and W. Emmerich, Mobile Computing Middleware, the 2nd
IFIP-TC6 Networking Conference,
Networking Tutorial, 2002.
[29]
K. Nagao, ‘Semantic Transcoding:
Making the World Wide Web More Understandable and Usable with External
Annotations’, IBM Research, 2000.
[30] The Narada Event Brokering System, http://grids.ucs.indiana.edu/ptliupages/projects/narada/.
[31] RFC3208, PGM Reliable Transport Protocol
Specification, http://www.rfc-editor.org/rfc/rfc3208.txt.
[32] I. Rouvellou, L. DeGanaro, H. Chan et
al., Combining Different Business Rules Technologies: A Rationalization, Proceedings
of the OOPSLA 2000 Workshop on Best-practices in Business Rule Design and
Implementation, October, 2000.
[33] A.
Rowstron and P. Druschel, Pastry: Scalable, Decentralized Object Location, and Routing
for Large-Scale Peer-to-Peer Systems, Proceedings of the 3rd
Middleware conference, 2001.
[34] RuleML,
http://www.dfki.uni-kl.de/ruleml/.
[35] B.
Schilit et al., Context-Aware Computing Applications, Proc. of IEEE-
the Workshop on Mobile Computing, pp.85-90, 1994.
[36] B.
Segall et al., Elvin has left the Building: A Publish/Subscribe
Notification Service with quenching, Proc. of AUUG, 1998.
[37] Softwired
iBus Messaging, http://www.softwired-inc.com/.
[38] Sun
Microsystems, Project JXTA, http://www.jxta.org/.
[39] TIBCO.
TIB/Rendezvous White Paper, http://www.rv.tibco.com.
[40] W3C
Semantic Web Activity, http://www.w3.org/2001/sw/.
[41] WebLogic, http://www.bea.com/products/index.shtml.
[42] Scribe, http://research.microsoft.com/~antr/SCRIBE/