absence of traditional cellular networks. For example, during an emergency disaster relief operation, all traditional co
N-tier Quorum System for Bloom based XML Data Replication in Mobile Peer-to-Peer Networks Ratul Mukhopadhyay Wipro Technologies Bangalore, India
[email protected]
Abstract Mobile ad-hoc networks consist of highly dynamic nodes. This dynamism often manifests itself in the form of network partitions. A mobile peer-to-peer network is basically a class of applications that have been built on top of an ad-hoc network. This kind of a setup requires alternate means of data dissemination. XML is now being widely adopted as the standard for semi-structured hierarchical data. In this paper, we have used Breadth and Depth Bloom filters to index XML data over mobile peerto-peer networks. This results in increased scalability of XML files. Furthermore, we also extend the classic concept of quorum system to what we call N-tier quorum system, in order to provide data replication, thereby increasing the availability of XML data.
1.Introduction Mobile ad-hoc networks [14][15] are a class of networks that consist of highly dynamic nodes. They are basically multi-hop networks that work without any predetermined infrastructure [7]. Such networks are crucial in areas where communication between wireless devices needs to be present, in spite of the absence of traditional cellular networks. For example, during an emergency disaster relief operation, all traditional communication facilities may be damaged. In such a scenario, the wireless mobile nodes themselves must provide the infrastructure necessary for communication. Mobile ad-hoc networks, due to their inherent dynamic nature, give rise to a variety of problems that are
either new as compared to cellular networks, or old requiring new and varied solutions. Peer-to-peer networks such as [8][1][4][6][16] have recently provided us with different ways in which communication and interaction can take place. Mobile ad-hoc networks and peer-to-peer networks are similar in certain ways. Both paradigms do not require a central infrastructure. There is no hierarchy and all nodes double up as normal nodes as well as routers. Each node is assumed to possess similar resources as compared to the others. Usually broadcast techniques are used in both cases [17][2]. Therefore, basing peer-to-peer applications on top of an ad-hoc network (called mobile peer-to-peer networks) seems to be a natural thing to do. As can be expected, there has been some interesting work that has been done in this direction [3][20][18], and over the years, similar contributions are expected to increase. XML [19] has now become the standard for data representation and exchange. XML is different from traditional data, in that it is semistructured and hierarchical in nature. In our paper, we look at the case of XML data access over mobile peer-to-peer networks. Since network partitions are very frequent in ad-hoc networks (that lay the foundation for mobile peer-to-peer networks), the availability of data becomes a critical parameter. Different replication schemes are usually used in traditional networks. Mobile peer-to-peer networks require slightly different replication strategies. This work is based on quorum based replication methods developed in [22]. The other important issue is to reduce the resources spent in querying XML data over a mobile peer-to-peer network. We use extensions of the classical Bloom filter [21], called Depth and Breadth Bloom filters [24], to decrease query time.
The remainder of the paper is structured as follows. Section 2 looks at the classical Bloom filter and its extensions, Depth and Breadth Bloom filters. In Section 3, we explore the concept of quorum systems. Section 4 introduces N-tier quorum systems and other algorithms that form the main gist of this paper. Simulations are presented in Section 5, followed by the Conclusion in Section 6.
operation on the other BBFis. Thus, BBF0 contains all the labels in the XML tree. For example, consider the XML tree given in figure 1. It represents a set of computational services that are provided to the user.
2. Bloom based filters 2.1 Classical Bloom filters Bloom filters [21] are used to build space-efficient data structures for set membership. Correctness is sacrificed to give preference to space efficiency. They employ a set of hash functions that point to bit positions in a vector. If a particular key is not present, the Bloom filter may give a wrong answer. However, its structure can be tweaked to give a very low probability of failure. Bloom filters have been used in query filtering and routing [28][23], web cache sharing [27] and free text searching [11]. A Bloom filter consists of a bit vector B of m bits and k independent hash functions h1, h2,…..hk. , each with range {1….m}. All bits in B are initialized to 0. In case of insertion, for any ‘x’ from a set X={x1, x2,……xn}, the bit positions at h1(x), h2(x),……hk(x) are turned on, i.e., set to 1. Rest of the bits remain zero. Or, in other words, each hash function maps each ‘x’ to the set Rm = [0,1, ,m-1}. For querying, ‘x’, compute h1(x),h2(x),…..hk(x). If B[h1(x)] = B[h2(x)] =….. =B[hk(x)] = 1, then result is right with a certain probability, else the query return ‘not found’. 2.2 Breadth and Depth Bloom filters Breadth and Depth Bloom filters (BBF and DBF) were proposed in [24]. They are an extension of the classical Bloom filter. Bloom filters cannot handle hierarchical data, such as XML. BBF and DBF have been specially developed to handle this kind of data. 2.2.1 Breadth Bloom filters. Consider an XML tree with j levels. The BBF of the XML tree is a set of Bloom filters {BBF0, BBF1,…..BBFi}, where i