Anda di halaman 1dari 5

Second International Symposium on Intelligent Information Technology Application

Study of CEP-Based RFID Data Processing Model


Guangqian Zhang, Li Zhang The institute of system engineering and researching, Dalian University of Technology, Dalian, Liaoning, 116026, China zhgq@dlut.edu.cn, realamd@126.com Abstract
More and more real time applications apply RFID technology to identify, track and locate objects. Wide deployment of RFID readers will generate an unprecedented volume of primitive data in a short time. Duplication and redundancy of primitive data will affect real time performance of application. Thus, emerging applications must filter primitive data and correlate them for complex pattern detection and transform them to events that provide meaningful, actionable information to end applications. In this paper, we design and develop a complex event processing system called BCEPS. BCEPS will process RFID primitive data and event and perform data transformation. We design a simple complex event language for such transformation. For enhancing real time performance of application, we also design a priority-based event scheduling algorithm for event processing. We apply BCEPS to RFID-based tracking and locating system underground mine which we develop and illustrate the results. Primitive data may be duplicated and in conflict each other. So how to process conflicted data and filter duplicated data to avoid generating invalid or conflicted event is important to save storage spaces and improve performance of system; 2) because of the limitation of RFID readers expression and logic complexity of applications, RFID reader only generate the primitive event that can not meet the real world requirement. However, applications require meaningful and actionable information. Thus, how to transform RFID data and generate complex event meeting the actual application requirement is important for functionality of system. It is proved that the newly complex event processing system has solved the discussed challenges above. Some CEP systems such as SASE[3] have been designed for RFID information transformation.

1.2. Our Motivation


RFID has been applied to the underground mine to track, real-time monitor miners activities as well as control the access to the laneways. Therefore RFID-based tracking and locating system underground mine will face the challenges above. Figure 1 presents the Framework of RFID-based tracking and locating system underground mine (RTLSUM). There are two phases in the framework: Phase 1 is to process primitive data stream gathered by RFID readers and then generate primitive events. This phase aims to solve information conflict and eliminate information redundancy so that it will improve the performance; Phase 2 integrates the primitive events generated in phase 1 into meaningful and complex events that meet actual application requirement. This phase is used for semantic data composition.

1. Introduction
1.1. Background
RFID Radio Frequency IDentification as a new real-time monitoring technology has its own characteristics that differs from other real-time monitoring technology. RFID can collect real-time information and detect real-time event automatically. However, this technology presents the following challenges: 1) RFID reader could gather large quantity of primitive data that causes numerous primitive events.
978-0-7695-3497-8/08 $25.00 2008 IEEE DOI 10.1109/IITA.2008.213 254

Authorized licensed use limited to: Feng Chia University. Downloaded on January 9, 2009 at 04:30 from IEEE Xplore. Restrictions apply.

Figure 1 Framework of RTLSUM

1.3. Our Contribution


In our paper, we design and develop a basic CEP system called BCEPS system which has a priority-based event scheduling algorithm because RTLSUM system requires high real time performance. BCEPS has two main functionalities: The first functionality is to process (abnormally filtering, eliminating duplication and so on) primitive data stream and generates basic primitive events; in light of complex logic of application, the second functionality is union the primitive events into expressive complex events. A prototype of BCEPS will demonstrated through a RTLSUM deployment.

event (reader ID, tag ID, Tstart, Tend, interval) where reader ID represents the reader which exists in the event, tag ID represents the tag which exists in the event, Tstart represents the start time of the event, Tend represents the end time of the event, interval represents the continuous time of the event.

3. Complex event definition


The elementary RFID events, such as primitive ones or basic ones, are far from expressive for practical applications such as business work-flow or real-time monitoring system. Thus RFID processing engine needs to introduce a specific semantics for RFID complex events definition. According to the requirement of RTLSUM system, we define BCEPS complex event language.

2. RFID data stream definition


Numerous RFID data gathered by RFID reader can provide large quantity of potential information, but redundancy and duplication of RFID data could reduce the benefits and even yield contrary effects. So an urgent challenge of RFID event processing is effective and lossless data filtering. Lots of solutions of data filtering have to balance the data volume against data accuracy and system agility. Thus, we define the basic format of RFID data stream to avoid redundancy and duplication.

3.1. Complex event language


For convenience of studying, we define complex event language that is similar to SQL. We will illustrate the whole structure of complex event language: SELECT [result] FROM [event stream] LIKE [EVENT] WHERE [condition] BETWEEN [Tstart, Tend] The semantics of the language are briefly described as follows: SELECT clause transforms the stream of events into composite events and then returns results which meet the requirement of composite events. FROM clause indicates the input event stream. LIKE clause executes event pattern matching between input event stream and EVENT. WHERE clause imposes value-based constraints on the events addressed by the pattern. BETWEEN clause specifies a range of time over event matching. LIKE, EVENT, WHERE and BETWEEN clause s constitute event matching block which transforms a stream of input events stream to a stream of new composite event.

2.1. Primitive RFID data stream


Primitive RFID data stream is generated by RFID reader such as read ID, tag ID and so on. The attributes of objects of system are retrieved in light of primitive RFID data stream. For example, you can get basic information of employee tagged with RFID tag.

2.2. Primitive events


The primitive events of RFID system are the foundation of application, which are generated by physical RFID readers. The event format is like:

4. BCPS architecture
255

Authorized licensed use limited to: Feng Chia University. Downloaded on January 9, 2009 at 04:30 from IEEE Xplore. Restrictions apply.

The architecture of BCEPS system is illustrated in Figure 2. The entire system consists of five layers. The bottom layer is Device Layer that contains RFID readers which detect RFID tags and gather RFID data. The layer above Device Layer is Data Stream Processing Layer which is responsible for processing primitive RFID data according to some RFID rules and generating primitive events. The primitive events are then fed to Event Processing Engine that is the core of the BCEPS system. Event Processing Engine uses event constructor to produce complex events and then Event Processing System processes event stream to deliver the results into RFID Database which is based on PostgreSQL Database in Data Storage Layer. Users can use computer to deliver GUI Event to Event Processing Engine and then get the results from Event Processing Engine. The following are the details about the five layers.

processing copes with idiosyncrasies of readers and performs data cleaning, such as filtering and smoothing. This is important as RFID readings are known to be inaccurate and lossy. Some technologies are available in [5]. After data are processed, Data Stream Processing Layer will generate primitive event in light of the data and hand in the event to Event Processing Engine. Data Stream Processing Layer consists of the following steps, as illustrated in Figure 3.

Figure 3 Data stream processing layer

(1) Anomaly Filtering Layer It removes spurious readings and readings that contain truncated ids. (2) Duplication Filtering Layer Data Stream Processing Layer gets primitive data from TDC (Temporal Data Cache, in Figure 4) which is like a queue that pop data from top and push data into bottom. Device Layer may generate duplicate primitive data which have the same reader ID, tag ID and only different timestamp. So the primitive data which has the largest timestamp will be saved and other duplicate primitive data will be discarded.

Figure 2 BCEP system architecture

4.1. Device layer


Device Layer contains RFID readers and RFID tags. In our system, we use high frequency RFID reader (13.45MHz). Miners are tagged with RFID tags from Philips. The tags abide EPC Class1 Generation 1 standard. After system starts, RFID readers are initialized with the default configuration and then scan their reading range in an interval n that is changed manually. Once RFID reader discovers a tag, it will generate a primitive data: (reader ID, tag ID, timestamp) and deliver it into TDC (Temporal Data Cache) in Data Stream Processing Layer.
Figure 4 Temporal data cache

(3) Event Generation Layer It generate primitive event in light of a pre-defined schema. It retrieves attributes (employee no, reader no, label no, timestamp) defined in the schema from RFID database.

4.3 Event processing engine


Event Processing Engine is the core of the BCEP system. It consists of two components: Event Constructor and Event Processing System. Event Constructor retrieves primitive events from Data stream Processing Layer and GUI events from

4.2. Data stream processing layer


For our application system (RTLSUM), Data Stream Processing Layer has two main functionalities: data processing and generating primitive events. Data
256

Authorized licensed use limited to: Feng Chia University. Downloaded on January 9, 2009 at 04:30 from IEEE Xplore. Restrictions apply.

Application. In order to meet the real time requirement of RTLSUM, we express any events in the format: events (type t, event e, priority p), where t represents the type of event which contains type of GUI events and type of primitive events, e represents the event itself and p represents the priority of the event. The larger the value of p is, the higher the priority of the event is. After event constructor finishes, the events generated are fed to Event Processing System. Event Processing System rearranges the events according to the priority of events. The event having higher priority will be processed and return results earlier. For example, there are two events occur: a GUI event A which wants to get the list of miners who are existing underground and a primitive event B which has real time location information and requires to update location information immediately. Event A is expressed in the format of events (GUI, A, pA), Event B is expressed in the format of events (primitive, B, pB), pB > pA. So Event Processing System will process Event B firstly, and then process Event A. This technology will ensure that the real time of the system is higher.

executing one of the events which have the highest priority 10.

Figure 5 Illustration of Event Processing Engine

Although real time monitoring is also a real time event, the priority of real time detecting is higher than real time monitoring so the event of real time detecting will be processed firstly. This events scheduling method arrange event executions more legitimately.

4.4 Data storage layer


Data Storage Layer contains a relational storage media to support query data according to events stream. We use PostgreSQL 8.2 as our DBMS. We have pre-defined some rules in response to some event streams. This method can improve performance of system.

6. Conclusion
In this paper, we design and develop a prototype of BCEPS for processing RFID data stream. In order to enhance real time performance of system, we use a priority-based event scheduling method in the Event Processing Engine of BCEPS to ensure that real time event will be processed earlier. Finally we apply the BCEPS to our RFID-based Tracking and Locating System Underground Mine. Priority-based event scheduling method is a relatively simple algorithm. In the future, we will design an more effective event scheduling algorithm to improve real time performance.

4.5 Application layer


Application layer generates user GUI events. Users can use pre-defined friendly graphic user interface to deliver events to Event Processing Engine. Application Layer also provides separate processes to monitor the results which are returned by Event Processing Engine and shows the results graphically.

Acknowledgement
This work is supported by the doctoral fund of the Ministry of Education (20070141037).

5. Experiment
Our RTLSUM makes use of the BCEPS model to enhance RFID data stream processing and improve real time of the system. Figure 5 contains three screenshots. The left and top screenshot represents a real time monitoring component that show the real time path of miners underground mine, the left and bottom screenshot represents a real time detecting component that gathers RFID data and the right screenshot represents Event Processing Engine. We can observe that Event Constructor receives 7 events and Event Processing System rearranges the 7 events in light of priority and is

References
[1] Jin Xingyi, Lee Xiaodong, Kong Ning, Yan Baoping (2008). Efficient Complex Event Processing over RFID Data Stream. Seventh IEEE/ACIS International Conference on Computer and Information Science. [2] E. Masciari (2007). RFID data management for effective objects tracking. the 23rd Annu. ACM Symposium on Applied Computing, 2007, pp.457-461.

257

Authorized licensed use limited to: Feng Chia University. Downloaded on January 9, 2009 at 04:30 from IEEE Xplore. Restrictions apply.

[3] Daniel Gyllstrom, Eugene Wu, Hee-Jin Chae, Yanlei Diao, Patrick Stahlberg, Gordon Anderson (2007). SASE: Complex Event Processing over Streams,. CIDR, Asilomar, CA, 2007. [4] B. Yijian, T. Hetal, L. Chang, W. Haixun and Z. Carlo (2006). A Data Stream Language and System Designed for Power and Extensibility. the 15th ACM Conf. on Information and Knowledge Management, Virginia, 2006, pp.337346. [5] SHENG WANG, SHAORONG LIU, PEIYA LIU, YIJIAN BAI(2006). Bridging Physical and Virtual Worlds: Complex Event Processing for RFID Data Streams. the 10th Int. Conf. on Extending Database Technology, Munich, Germany, 2006, pp.588607. [6] E. Wu, Y. Diao and S. Rizvi (2006), High Performance Complex Event Processing over Streams. SIGMOD, Chicago, 2006, pp.407418 [7] MIT Auto-ID Lab. EPC network architecture. January 2006. http://autoid.mit.edu/CS/files/3/networkarchitecture. [8] F. WANG, P. LIU (2005). Temporal management of RFID data. the 31st VLDB Conf., New York, 2005, pp.11281139. [9] Zimmer, D. and Unland R (1999), On the semantics of complex events in active database management systems. ICDE, 392-399, 1999. [10] S. CHAKRAVARTHY, V. KRISHNAPRASAD and E. ANWAR (1994), Composite events for active databases: Semantics contexts and detection. the 20th VLDB Conference, Santiago Chile, 1994, pp.10111205.

258

Authorized licensed use limited to: Feng Chia University. Downloaded on January 9, 2009 at 04:30 from IEEE Xplore. Restrictions apply.