A Continuous Query Processing System for RFID Data Stream Chang Hyun Park, Hyung Rim Choi, Byung Kwon Park, Young Jae Park
A Continuous Query Processing System for RFID Data Stream 1
Chang Hyun Park, 2 Hyung Rim Choi, 3 Byung Kwon Park, 4 Young Jae Park Division of Management Information Systems, Dong-A University, 840 Hadan-dong, Saha-gu, Busan, 604-714, Republic of Korea,
[email protected] 2, Division of Management Information Systems, Dong-A University, 840 Hadan-dong, Sahagu, Busan, 604-714, Republic of Korea,
[email protected] 3, Division of Management Information Systems, Dong-A University, 840 Hadan-dong, Sahagu, Busan, 604-714, Republic of Korea,
[email protected] *4, Corresponding Author Department of Management Information Systems, Tongmyong University,428 Sinseon-ro, Nam-gu, Busan, 608-711, Republic of Korea,
[email protected]
1, First Author
Abstract As the maritime logistics becomes global, the issues related to the real time monitoring of the possible problems that could occur during the transport have come to the fore. As the RFID technology for monitoring the transport process has been used and significant amount of data stream is fed into middleware, the function for processing them in real time is required. However, there have been difficulties for existing RFID systems to process them. This study defines the conditions for a continuous query system for the real time processing of the RFID stream data that are to be generated during the process of the maritime logistics, and also suggests a continuous query system.
Keywords: RFID Data Stream, Query Processing, In-Memory DBMS 1. Introduction Considering that the maritime logistics is globalized and, subsequently, huge amount of tag data stream is generated during the transport, there has been a need for a function that can analyze and process the significant amount of tag data in order to collect information efficiently and respond flexibly to the business demands. In case of existing RFID systems, when a user needs to request specific data from a RFID tag or needs to receive data from it, the user can get the desired data through a query only when the data received through the RFID reader are stored in database. It has been impossible for multiple users to access one single RFID tag and register their own personal information.[1] It has been also impossible to have a function with which a user sets up some criteria for specific information and, then, notification to the user will be made later when exceeding or falling short of the criteria. For processing the RFID data stream that is to be generated continuously in line with the continuous process flow of logistics, there is a need for a continuous query system that can register and process continuous queries that would take place whenever receiving data in real time.[2] There are 2 major problems with the simple query processing through the interface provided on the EPC global network. Firstly, as the EPCDS (EPC Discovery Service) system only supports the synchronized transmission method, meaning that only the information gained at the time when the request for results of queries is made is the newest. That would be a problem as the queries should be downloaded repetitively through EPCDS in order to keep track of cargo in real time continuously. Secondly, in case of the EPCIS system, it stores data whenever events related to the product data take place, it is required to process overlapped data when implementing continuous queries that would gain the results related to the change in the quantities and ratio of products. In order to process huge amount of data stream that would occur in maritime logistics, there is a need for defining the user queries in a way that reflects the domains of maritime logistics. [3] It is also required to generate and manage the information related to the state and location of cargo in order to manage the state and location of cargo. The data stream processing system suggested in this study defines the query structure by reflecting the characteristics of a maritime logistics domain, registers the users’ queries and processes the RFID stream data in real time, and also provides the functions that would allow the cargo state information and the location information to be defined.
Advances in information Sciences and Service Sciences(AISS) Volume5, Number8, April 2013 doi:10.4156/AISS.vol5.issue8.150
1282
A Continuous Query Processing System for RFID Data Stream Chang Hyun Park, Hyung Rim Choi, Byung Kwon Park, Young Jae Park
2. Reference review 2.1. Middleware, sensor network platform and service platform RFID middleware is a type of software that collects and filters large amounts of tag data generated by a heterogeneous RFID system to summarize them into meaningful information. It then transfers it to an application system [4]. Existing RFID middleware typically are used to provide a reader interface, filter events, and provide a standardized service interface [5, 6]. On the other hand, sensor network platforms are developed into various forms. First, Tiny OS, an operation system based on events developed by UC Berkeley; Second, SOS of UCLA enabling updating modules in need of amendment during runtime; Third, An evolvable Network of Tiny Sensors (ANTS) of ICU with resolvability characteristics for optimal adaptation to the surrounding environment through automatic learning befitting the surrounding environment, resetting and upgrading; Lastly, we have the NanoQplus of ETRI. An important factor in sensor network platforms is the demand for platforms that can accommodate diverse technologies and comprehensively manage different sensor networks. As a global access network that supports the interlocking of diverse sensor networks’ physical infrastructure technologies and a platform including standardized infrastructure for sharing of global information of existing sensor networks, we have the sensor network platform of EPC. The EPC sensor network platform is also an infrastructure integrating both RFID and USN [7]. A service platform does not mean separately developing services from the viewpoint of application program development, but providing common services by finding the composing factors commonly needed for services. It means extracting common characteristics and services and reusing the extracted characteristics and services to support the convenience of development [8, 9]. A service platform provides a network hardware device and an independent software platform to wireless networks for uniform development of application programs and the provision of software platforms that enable easy maintenance and repair [10].
2.2 In-memory DBMS J. Gray predicted that a hard disk would play the role of data backup and that the use in-memory computing for RAM to manage operation data saving would become generalized [11]. In-memory computing technologies may be classified into the three types of in-memory application platform, inmemory data management, and in-memory messaging [12]. Places where in-memory computing technology is actively used are in-memory data grids providing a distributed cache layer that can enhance the application performance in a dispersed environment and in-memory database management systems (DBMSs) providing database management services in the data management field. In-memory DBMS is a system that provides features (all features related to data) provided by existing systems (disk DBMS) through a main memory. The disk DBMS buffers the content of blocks saved in a disk on the main memory to reduce the number of disk input and output and uses the main memory to provide a speedy data management feature. But in an in-memory DBMS, the original data are saved in the main memory. That is, in in-memory DBMS, the main space where data is saved is not a disk, but a main memory of DBMS [13]. Traditional DBMS saves data permanently and processes them upon temporary inquiry. But in a data streaming system, the inquiry is saved to process a large amount of streamed data and temporarily compare the streamed data for the deletion of unnecessary data. Here, if DBMS of the disk method is used, speedy processing becomes difficult because of disk input and output. Therefore, a data streaming system of the in-memory DBMS method of processing data in a disk on the main memory is necessary.
3. Continuous query processing system To process streamed data in real time, the Query Processing System is composed of two modules. First, a Condition Checker compares the registered inquiry conditions and the received streamed data to play the role of deciding whether to execute the inquiry. An Action Executer, another module, plays
1283
A Continuous Query Processing System for RFID Data Stream Chang Hyun Park, Hyung Rim Choi, Byung Kwon Park, Young Jae Park
the role of executing the content of an inquiry satisfying the conditions of the Condition Checker’s comparison results. Inbound Tag Interface module when it receives a data stream from the tag, it is delivered to the stream processor. Stream processing systems is call the Table Buffer Manager' function in order to create condition information and action information to compare the data Condition Checker is processed query using the information of the received data stream and the condition information. The Action Executer has depending on the processing results of Action Information. This information provides a general monitoring purposes, the processing result is passed to the API module. The tag control purposes, if the results of processing passes it to the Tag Manager
Figure 1. Continuous query processing system architecture
4. Procedure of continuous query processing system For processing the real time data stream that is to be fed continuously from the RFID tags in the maritime logistics, the continuous query processing system for the RFID data stream defines and stores the conditions of the user queries, and supports the continuous query processing, and transmits the processing results to external application programs.
4.1. Condition table In this study, the 6 conditions (Container number, temperature, humidity, date, impact and location) are defined to express the users’ requirements, and the table for storing the conditions is designed. When the requirements in the XML form, as predefined by the user, are received, they will be analyzed and classified into 6 different conditions, and stored into relevant tables in line with the analysis results. When the system starts, the conditions stored in the DB table will be stored in an array by the table buffer manager.
1284
A Continuous Query Processing System for RFID Data Stream Chang Hyun Park, Hyung Rim Choi, Byung Kwon Park, Young Jae Park
4.2. Query running procedure Processing received tag data goes through the process of receiving tag data, searching conditions for continuous query, and executing continuous query as in Figure 2. After executing continuous query, it goes through the repeated process of receiving tag data. The details are as in Table 1. Table 1. Project selection matrix rules query execution process Process
Processing continuous query
Executing continuous query
Explanation - To efficiently save and process continuous query for marine logistics, define the query repository. - To quickly process queries a user has registered, define in the form of a matrix the registered queries to process in a short time. - Process information on the state of freight such as temperature, humidity and shock. - If there is an item related to location among items demanded by the user, search the relevant information using the Spatial Data Module. - Depending on the results of the processed continuous query, send the results to the user or tag.
Figure 2. Order of query execution
Figure 3. Initialization process
1285
A Continuous Query Processing System for RFID Data Stream Chang Hyun Park, Hyung Rim Choi, Byung Kwon Park, Young Jae Park
A tag has a transmission cycle as large as the minimum common denominator of the transmission cycle of subscribed users. Of the data sent by the tag, use the tag ID to call out the Table Buffer Manager module as well as search the user information, transmission cycle, and the last transmission time of the relevant tag on memory to search only users whose transmission interval (time the tag information was sent – the last transmission time) is larger than the transmission cycle of all users. Call out the Table Buffer Manager as in Figure 3 to draw out only queries relevant to the searched user.
Figure 4. Initialization process
Figure 5. Initial condition matrix structure The condition matrix structure shows a sequence structure generated as in Figure 5 using the saved query conditions to quickly judge whether the sent tag information satisfies the query conditions. The lines mark the types of conditions and the rows the query numbers. And they are given 1 if they satisfy the conditions or 0 if they do not in the form of bits. The types of conditions are composed of container number, temperature, humidity, shock, date, and location and all conditions must be satisfied (1) to execute the relevant query. For continuous queries saved on memory, I have initialized all conditions as having been satisfied (1: satisfied, 0: not satisfied) for speedy access to the relevant queries and ease of processing queries. We have initialized all conditions as having been satisfied (1), because only then does one need to judge only the pertinent condition without having to search all conditions. On the other hand, if initialized as not satisfying (0) the conditions, one must judge all cases making it less efficient. After
1286
A Continuous Query Processing System for RFID Data Stream Chang Hyun Park, Hyung Rim Choi, Byung Kwon Park, Young Jae Park
completing exploring all conditions, execute the relevant query only when all conditions are satisfied (1).
Figure 6. Searching mechanism
4.3. Process of comparing state conditions While comparing all conditions of the condition matrix structure, compare the query related to the state information (temperature, humidity, shock) among all queries a user has registered as in Figure 7. Call out the Table Buffer Manager and compare the tag data with the condition of the relevant condition’s index on the condition matrix structure. If the conditions registered on the query entail simply comparing absolute values, compare them with the received tag data. When a registered condition entails comparing relative values as when comparing the changed amount in a time period, compare them with the data saved on the Working Memory
Figure 7. Order of searching the state conditions
1287
A Continuous Query Processing System for RFID Data Stream Chang Hyun Park, Hyung Rim Choi, Byung Kwon Park, Young Jae Park
If comparing absolute values and conditions are satisfied through simple condition comparison, enter (1) for satisfied and (0) for not satisfied in the relevant query index cell. If comparing relative values, analyze the Working Memory values to enter (1) for satisfied and (0) for not satisfied in the relevant query index cell.
4.4. Process of comparing location conditions While comparing all the conditions of the condition matrix structure, compare queries related to location information among all queries a user has registered as in Figure 8. If the registered query’s condition is “IN” and an “INTO” event is registered on the W/M, because “IN” is satisfied by the “INTO” condition, save the data on the W/M and then restore the TRUE results. If an “INTO” event is not registered on the W/M, search the query value related to the “IN” date. After executing the space operator, save the data according to the results and restore the results. If the registered query’s condition is "OUT" and an "OUT OF" event is registered on the W/M, because "OUT" is satisfied by the "OUT OF" condition, save the data on the W/M and restore the TRUE results. If an “OUT OF” event is not registered on the W/M, execute the "OUT" space operator and save the data according to the results and restore the results. Search other space operator (“INTO,”"OUT OF," "THROUGH") conditions and save the data according to the search results and restore the results.
Figure 8. Order of searching location conditions
1288
A Continuous Query Processing System for RFID Data Stream Chang Hyun Park, Hyung Rim Choi, Byung Kwon Park, Young Jae Park
5. Conclusion This study expresses the users’ requirements in conditions of continuous queries, and reflects their characteristics regarding the RFID stream data that cannot be processed the existing RFID systems that are centered on readers and middleware for the maritime logistics. In particular, to reflect the demands of a user related to shipping logistics, five state conditions and one location condition were defined and a database schema defined for their efficient management to create the relevant table. Also, depending on the state conditions and location condition, an algorithm to process inquiries for the processing of streamed data was prepared. In addition, I included a working memory (W/M) on the algorithm for section information to enable data processing. There is a need for conducting additional researches for reflecting characteristics in real time and enhancing performance.
6. Acknowledgement This work is based on the projects "Development of Active IP-RFID Technology in Maritime Logistics" , supported by Ministry of Land, Transportation and Maritime Affairs(MLTM).
7. References [1] Jeong-Won, “GeoSensor Data Stream Processing System for u-GIS Computing”, Journal of Korea Spatial Information System Society, Vol. 11, No. 1, pp. 9 ~16 , 2009 [2] Lukasz Golab, “Issues in Data Stream Management, SIGMOD Record”, Vol. 32, No. 2, pp. 5 ~ 14, 2003. [3] Hong-Won Yun, “Efficient Filtering Method for RFID Data Streams”, Digital Contents Society, Vol. 7 No. 10, pp. 27 ~ 35, 2007. [4] J. G. Hwang, T. S. Cheong, Y. I. Kim and Y. J. Lee, “Trends of RFID Middleware Technology and Its Applications”, Electronics and Telecommunications Trends, Vol. 20, No. 3, pp. 81 ~ 91, 2005. [5] Seonghun Ahn , Byoung Seob Park, "Design and Implementation of RFID Middleware System for Ubiquitous Learning Environment using Large Scale Data", IJACT, Vol. 1, No. 2, pp. 73 ~ 80, 2009. [6] Xiaoning Jiang, Yanyan Liu, Yang Leng, Junqiang Liu, Zhigang Gan, "An Efficient and Secure RFID-based Online Monitoring System Architecture for Enterprise Asset Management", JCIT, Vol. 7, No. 21, pp. 220 ~ 227, 2012. [7] D. Y. Kim, J. W. Lee, Y. J. Kim, J, H. Kang, S. M. Hong and W. Y. Jung, “The Implementation of a Global Sensor Network Platform”, Journal of the Korea Information Science Society, Vol. 25, No. 12, pp. 83 ~ 92, 2007. [8] B. W. Min, Y. S. Oh, D. Y. Han and J. Y. Koo, “Design of u-Health Service Platform”, Proceedings of The Korea Contents Association Conference, vol. 7, No. 1(low part), pp.797 ~ 801, 2009. [9] D, S. Han, I. Y. Ko and S, J, Park, “Evolving mobile u-health service platform”, Review of Korea Institutes of Information Security and Cryptology, Vol. 17, No. 1, pp. 11 ~ 21, 2007. [10] K. Y. Kim, D. K. Kim and S. J. Lee, “A Design and Implementation of Service Platform for Telematics Terminals”, Journal of Korean Society for Internet Information, Vol. 7, No. 3, pp. 13 ~ 30, 2006. [11] J. Gray, “Tape is Dead, Disk is Tape, Flash is Disk, RAM Locality is King” Gong Show Presentation at CIDR, 2007. [12] M. Pezzini, “Innovation Insight: Invest in In-Memory Computing for Breakthrough Competitive Advantage”, Gartner, 2011. [13] H. S. Lee, M. Y. Lee, C. S. Kim and S. J. Heo, “Trends of In-Memory Database Management System Technology”, Electronics and Telecommunications Trends, Vol. 28, No. 1, pp. 33 ~ 41, 2013.
1289