|M.Sc Student||Biger Ayelet|
|Subject||Complex Event Processing Scalability by Partition|
|Department||Department of Industrial Engineering and Management||Supervisor||Dr. Opher Etzion|
|Full Thesis text|
Complex Event Processing (CEP) is an evolving discipline which has attracted attention both in the research community and industry during recent years. A complex event is an event that is derived from a number of previous events within a certain context.
The research addresses the implementation of CEP capabilities by using the AMiT framework which is a CEP implementation. It presents the technology implications of incorporating CEP within an environment of RFID that is characterized by high event rate, multiple complex event definitions, multiple event sources and errors in the data sets.
The user defines a set of CEP specifications, defined in the AMiT language as a set of Situations. If the AMiT framework were to have the ability to run in a distributed mode it could improve performance by supporting scalability. Therefore, it is important to apply a capability of logical distribution of the CEP specifications in an application. The purpose of doing so is to minimize the number of events that load the distributed network.
The objective of this work is to propose a technique to manage the sets of CEP specifications in the background and to suggest a suitable architecture that will solve the issues raised by the need for a distributed environment (performance and event rate).
This objective is attained by analyzing the AMiT definition set which represents the complex event specifications. We create subsets of the definitions which represent a logical distribution in order to apply them to a physically distributed environment. We then create an Event Processing Network (EPNs) by using the definition subsets and defining the underlying architecture, such as a set of filters and complex event processors. This allows parallel processing of several complex events simultaneously by multiple event processing agents (EPAs).
In order to create the definition subsets we construct a graph that represents the complete specification. We model the different artifacts of the specification and the relationships between them. Later we run a set of optimizations on the graph based on the proposed optimizations suggested in previous work and language specific optimizations based on the conceptual model. In the final phase we run an algorithm that partitions the graph while considering the dependencies and independencies between different artifacts of the specification. Once a partition is created we can create the Event Processing network.