FMware: Middleware for Efficient Filtering and Matching of XML Messages with Local Data

  • K. Selçuk Candan
  • Mehmet E. Dönderler
  • Yan Qi
  • Jaikannan Ramamoorthy
  • Jong W. Kim
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4290)


XML message filtering systems are used for sifting through real-time messages to support business data mining and reporting. An XML message filtering system needs to (a) process registered filter predicates on multiple distributed real-time streams and (b) match and validate the filter results with local data to identify the relevant data that can be used for higher-level processing. Although efficient real-time filtering schemes exists, the matching phase of the operation where filter results have to be matched against local data to select those matches that are relevant to the particular task remains to be expensive as it requires expensive join operations. In this paper, we present an efficient middleware (FMware) for filtering and matching XML messages against locally available data. The proposed operator relies on a novel cluster-domain matching scheme to reduce the cost of the process. We analytically study the cost of the proposed middleware and experimentally show that it adaptively reduces the number of local data accesses and provides large savings in matching time with respect to cluster-unaware matching.


XML messaging matching with local data cluster-domain hashing 


  1. 1.
    JMS: Sun microsystem inc. (2006),
  2. 2.
    Mohan, C., Dievendorff, D.: Recent work on distributed commit protocols, and recoverable messaging and queuing. IEEE Data Eng. Bull. 17(1), 22–28 (1994)Google Scholar
  3. 3.
    IBM-MQSeries (2005),
  4. 4.
    Letz, S., Zedler, M., Thierer, T., Schutz, M., Roth, J., Seiffert, R.: XML offload and acceleration with cell broadband engine. XTech: Building Web 2.0 (2006)Google Scholar
  5. 5.
    Papaemmanouil, O., Çetintemel, U.: Semcast: Semantic multicast for content-based data dissemination. In: ICDE, pp. 242–253 (2005)Google Scholar
  6. 6.
    Anand, A., Chawathe, S.S.: Cooperative data dissemination in a serverless environment. In: CS-TR-4562, University of Maryland, College Park (2004)Google Scholar
  7. 7.
    Chen, J., DeWitt, D.J., Tian, F., Wang, Y.: Niagaracq: a scalable continuous query system for internet databases. In: SIGMOD (2000)Google Scholar
  8. 8.
    DataPower: Xs40 XML firewall (2006),
  9. 9.
    Sarvega: XML security gateway (2006),
  10. 10.
    DataPower: Xs40 XML router (2006),
  11. 11.
    Sarvega: XML context router (2006),
  12. 12.
    Diao, Y., Franklin, M.: Query processing for high-volume XML message brokering. In: VLDB (2003)Google Scholar
  13. 13.
    Candan, K., Hsiung, W.P., Chen, S., Tatemura, J., Agrawal, D.: Afilter: Adaptable XML filtering with prefix-caching and suffix-clustering. In: VLDB (2006)Google Scholar
  14. 14.
    Josifovski, V., Fontoura, M., Barta, A.: Querying XML streams. The VLDB Journal 14(2), 197–210 (2005)CrossRefGoogle Scholar
  15. 15.
    Peng, F., Chawathe, S.S.: Xsq: A streaming xpath engine. In: CS-TR-4493, University of Maryland, College Park (2003)Google Scholar
  16. 16.
    Jiang, H., Lu, H., Wang, W., Ooi, B.C.: XR-Tree: Indexing XML data for efficient structural joins. In: ICDE (2003)Google Scholar
  17. 17.
  18. 18.
  19. 19.
    Bruno, N., Srivastava, D., Koudas, N.: Holistic twig joins: Optimal XML pattern matching. In: SIGMOD (2002)Google Scholar
  20. 20.
    Chen, T., Lu, J., Ling, T.: On boosting holism in XML twig pattern matching using structural indexing techniques. In: SIGMOD (2005)Google Scholar
  21. 21.
    Al-Khalifa, S., Jagadish, H.V., Koudas, N., Patel, J.M.: Structural joins: A primitive for efficient XML query pattern matching. In: ICDE (2002)Google Scholar
  22. 22.
    Li, Q., Moon, B.: Indexing and querying XML data for regular path expressions. In: VLDB (2001)Google Scholar
  23. 23.
    Jiang, H., Wang, W., Lu, H.: Holistic twig joins on indexed XML documents. In: VLDB (2003)Google Scholar
  24. 24.
    Chien, S.Y., Tsotras, V.J., Zaniolo, C., Zhang, D.: Efficient complex query support for multiversion XML documents. In: Jensen, C.S., Jeffery, K., Pokorný, J., Šaltenis, S., Bertino, E., Böhm, K., Jarke, M. (eds.) EDBT 2002. LNCS, vol. 2287, p. 161. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  25. 25.
    Grust, T.: Accelerating XPath location steps. In: SIGMOD (2002)Google Scholar
  26. 26.
    Wang, H., Park, S., Fan, W., Yu, P.: ViST: A dynamic index method for querying XML data by tree structures. In: SIGMOD (2003)Google Scholar
  27. 27.
    Zhang, C., Naughton, J.F., DeWitt, D.J., Luo, Q., Lohman, G.M.: On supporting containment queries in relational database management systems. In: SIGMOD (2001)Google Scholar
  28. 28.
    Bremer, J., Gertz, M.: An efficient XML node identification and indexing scheme. In: VLDB (2003)Google Scholar
  29. 29.
    Rao, P., Moon, B.: PRIX: Indexing and querying XML using Prüfer sequences. In: ICDE (2004)Google Scholar
  30. 30.
    BerkeleyDB (2006),
  31. 31.
  32. 32.
    Shah, M.A., Chandrasekaran, S.: Fault-Tolerant, Load-Balancing Queries in Telegraph. SIGMOD Record 30(2) (2001)Google Scholar
  33. 33.
    Carney, D., Cetintemel, U., Cherniack, M., Lee, C.C.S., Seidman, G., Stonebraker, M., Tatbul, N., Zdonik, S.B.: Monitoring Streams-A New Class of Data Managment Applications. In: VLDB (2003)Google Scholar
  34. 34.
    Tatbul, N., Cetintemel, U., Zdonik, S.B., Cherniack, M., Stonebraker, M.: Load Shedding in a Data Stream Manager. In: VLDB (2003)Google Scholar
  35. 35.
    Babu, S., et al.: Adaptive ordering of pipelined stream filters. In: SIGMOD (2004)Google Scholar
  36. 36.
    Tian, F., DeWitt, D.: Tuple Routing Strategies for Distributed Eddies. In: VLDB (2003)Google Scholar
  37. 37.
    Carey, M.J., Lu, H.: Load Balancing in a Locally Distributed DB System. SIGMOD Record 15(2), 108–119 (1986)CrossRefGoogle Scholar
  38. 38.
    Urhan, T., Franklin, M.J.: XJoin: Getting fast answers from slow and bursty networks. Technical Report CS-TR-3994 (1999)Google Scholar
  39. 39.
    Mokbel, M., Lu, M., Aref, W.: Hash-merge join: A non-blocking join algorithm for producing fast and early join results. In: ICDE (2004)Google Scholar
  40. 40.
    Chien, S.Y., Vagena, Z., Zhang, D., Tsotras, V., Zaniolo, C.: Efficient structural joins on indexed XML documents. In: VLDB (2002)Google Scholar
  41. 41.
    Cooper, G.R.H.B., Franklin, M.J., Shadmon, M.: A fast index for semistructured data. In: VLDB (2001)Google Scholar
  42. 42.
    Milo, T., Sicuo, D.: Index structures for path expressions. In: Beeri, C., Bruneman, P. (eds.) ICDT 1999. LNCS, vol. 1540, pp. 277–295. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  43. 43.
    Chen, Y., Davidson, S., Zheng, Y.: BLAS: An Efficient XPath Processing System. In: SIGMOD (2004)Google Scholar
  44. 44.
    Kaushik, R., Bohannon, P., Naughton, J., Korth, H.: Covering indexes for branching path queries. In: SIGMOD (2002)Google Scholar
  45. 45.
    Bertino, E., Catania, B., Wang, W.Q.: XJoin Index: Indexing XML data for efficient handling of branching path expressions. In: ICDE (2004)Google Scholar
  46. 46.
    Chung, J.M.C., Shim, K.: Apex: An adaptive path index for xml data. In: ACM SIGMOD (2002)Google Scholar
  47. 47.
    Ramanan, P.: Covering indexes for XML queries: Bisimulation - simulation = negation. In: VLDB (2003)Google Scholar

Copyright information

© IFIP International Federation for Information Processing 2006

Authors and Affiliations

  • K. Selçuk Candan
    • 1
  • Mehmet E. Dönderler
    • 1
  • Yan Qi
    • 1
  • Jaikannan Ramamoorthy
    • 1
  • Jong W. Kim
    • 1
  1. 1.Computer Science and Engineering DepartmentArizona State UniversityTempeUSA

Personalised recommendations