Efficient Data Retrieving in Distributed Datastreaming



Similar documents
Design and Deployment of Locality-aware Overlay Multicast Protocol for Live Streaming Services

Traceroute-Based Topology Inference without Network Coordinate Estimation

Stability of QOS. Avinash Varadarajan, Subhransu Maji

Study of Different Types of Attacks on Multicast in Mobile Ad Hoc Networks

A Topology-Aware Relay Lookup Scheme for P2P VoIP System

A Catechistic Method for Traffic Pattern Discovery in MANET

Network Topology and Traceroutes

DigiMetro An Application-Level Multicast System for Multi-party Video Conferencing

APPLICATION LAYER MULTICAST FOR EFFICIENT GRID FILE TRANSFER

Simulation of Heuristic Usage for Load Balancing In Routing Efficiency

International Journal of Advanced Research in Computer Science and Software Engineering

Adaptive Hybrid Multicast with Partial Network Support

Peer-to-Peer Networks. Chapter 6: P2P Content Distribution

QUALITY OF SERVICE METRICS FOR DATA TRANSMISSION IN MESH TOPOLOGIES

Explicit Multicast Routing

Introduction to LAN/WAN. Network Layer

How To Provide Qos Based Routing In The Internet

Enabling Conferencing Applications on the Internet using an Overlay Multicast Architecture

Definition. A Historical Example

CROSS LAYER BASED MULTIPATH ROUTING FOR LOAD BALANCING

Quality of Service Routing Network and Performance Evaluation*

TORA : Temporally Ordered Routing Algorithm

Multicast vs. P2P for content distribution

MOVING P2P LIVE STREAMING TO MOBILE AND UBIQUITOUS ENVIRONMENT. Xiaofei Liao, Hai Jin, Wenbin Jiang

Introduction to IP Multicast Routing

Lecture 2.1 : The Distributed Bellman-Ford Algorithm. Lecture 2.2 : The Destination Sequenced Distance Vector (DSDV) protocol

International journal of Engineering Research-Online A Peer Reviewed International Journal Articles available online

Overlay Mesh Construction Using Interleaved Spanning Trees

Objectives. The Role of Redundancy in a Switched Network. Layer 2 Loops. Broadcast Storms. More problems with Layer 2 loops

CS 5480/6480: Computer Networks Spring 2012 Homework 4 Solutions Due by 1:25 PM on April 11 th 2012

HPAM: Hybrid Protocol for Application Level Multicast. Yeo Chai Kiat

A Review on Quality of Service Architectures for Internet Network Service Provider (INSP)

Disjoint Path Algorithm for Load Balancing in MPLS network

Multicast Group Management for Interactive Distributed Applications

2.1 End-host Multicast Requirements

A Comparative Study of Tree-based and Mesh-based Overlay P2P Media Streaming

IP Multicasting. Applications with multiple receivers

Implementation of a Lightweight Service Advertisement and Discovery Protocol for Mobile Ad hoc Networks

Hierarchical Content Routing in Large-Scale Multimedia Content Delivery Network

Study And Comparison Of Mobile Ad-Hoc Networks Using Ant Colony Optimization

QoSIP: A QoS Aware IP Routing Protocol for Multimedia Data

Performance Evaluation of AODV, OLSR Routing Protocol in VOIP Over Ad Hoc

Introduction to IP v6

Network Architecture and Topology

An Active Packet can be classified as

Building Secure Network Infrastructure For LANs

COMPARATIVE ANALYSIS OF ON -DEMAND MOBILE AD-HOC NETWORK

Locality-Aware Clustering Application Level Multicast for Live Streaming Services on the Internet

Path Selection Methods for Localized Quality of Service Routing

PERFORMANCE ANALYSIS OF AODV, DSR AND ZRP ROUTING PROTOCOLS IN MANET USING DIRECTIONAL ANTENNA

PERFORMANCE ANALYSIS OF AD-HOC ON DEMAND DISTANCE VECTOR FOR MOBILE AD- HOC NETWORK

A Utility-Aware Middleware Architecture for Decentralized Group Communication Applications

Faculty of Engineering Computer Engineering Department Islamic University of Gaza Network Chapter# 19 INTERNETWORK OPERATION

Figure 1. The Example of ZigBee AODV Algorithm

An Efficient Hybrid Data Gathering Scheme in Wireless Sensor Networks

An Efficient Load Balancing Technology in CDN

A Simulation Study of Effect of MPLS on Latency over a Wide Area Network (WAN)

DESIGN AND DEVELOPMENT OF LOAD SHARING MULTIPATH ROUTING PROTCOL FOR MOBILE AD HOC NETWORKS

Performance Analysis of AQM Schemes in Wired and Wireless Networks based on TCP flow

2004 Networks UK Publishers. Reprinted with permission.

Source vs Data-driven Approach for Live P2P Streaming

Performance of networks containing both MaxNet and SumNet links

SELECTIVE ACTIVE SCANNING FOR FAST HANDOFF IN WLAN USING SENSOR NETWORKS

Datagram-based network layer: forwarding; routing. Additional function of VCbased network layer: call setup.

Evaluation of Unlimited Storage: Towards Better Data Access Model for Sensor Network

A ROUTING ALGORITHM FOR MPLS TRAFFIC ENGINEERING IN LEO SATELLITE CONSTELLATION NETWORK. Received September 2012; revised January 2013

A Comparison Study of Qos Using Different Routing Algorithms In Mobile Ad Hoc Networks

SIMULATION STUDY OF BLACKHOLE ATTACK IN THE MOBILE AD HOC NETWORKS

Intelligent Agents for Routing on Mobile Ad-Hoc Networks

Analysis of QoS Routing Approach and the starvation`s evaluation in LAN

Routing in packet-switching networks

Implementing VPN over MPLS

How To Use Application Layer Multicast For Media Distribution

EFFICIENT DETECTION IN DDOS ATTACK FOR TOPOLOGY GRAPH DEPENDENT PERFORMANCE IN PPM LARGE SCALE IPTRACEBACK

A Multi-Poller based Energy-Efficient Monitoring Scheme for Wireless Sensor Networks

Consecutive Geographic Multicasting Protocol in Large-Scale Wireless Sensor Networks

Network Performance Monitoring at Small Time Scales

PROPOSAL AND EVALUATION OF A COOPERATIVE MECHANISM FOR HYBRID P2P FILE-SHARING NETWORKS

Improvisation of The Quality Of Service In ZigBee Cluster Tree Network

Comparisons of SDN OpenFlow Controllers over EstiNet: Ryu vs. NOX

IPTV AND VOD NETWORK ARCHITECTURES. Diogo Miguel Mateus Farinha

David R. McIntyre CS Department, Cleveland State University Cleveland, Ohio 44101

AN INITIAL PEER CONFIGURATION ALGORITHM

A Routing Metric for Load-Balancing in Wireless Mesh Networks

Quality of Service Routing in MPLS Networks Using Delay and Bandwidth Constraints

CHAPTER 8 CONCLUSION AND FUTURE ENHANCEMENTS

A Mobility Tolerant Cluster Management Protocol with Dynamic Surrogate Cluster-heads for A Large Ad Hoc Network

Scalable Source Routing

Entropy-Based Collaborative Detection of DDoS Attacks on Community Networks

A Graph-Center-Based Scheme for Energy-Efficient Data Collection in Wireless Sensor Networks

Behavior Analysis of TCP Traffic in Mobile Ad Hoc Network using Reactive Routing Protocols

A NETWORK CONSTRUCTION METHOD FOR A SCALABLE P2P VIDEO CONFERENCING SYSTEM

The Feasibility of Supporting Large-Scale Live Streaming Applications with Dynamic Application End-Points

An Intelligent Car Park Management System based on Wireless Sensor Networks

Attacks on neighbor discovery

Efficient Load Balancing Routing in Wireless Mesh Networks

Transport layer issues in ad hoc wireless networks Dmitrij Lagutin,

Overlays on Wireless Mesh Networks: Implementation and Cross-Layer Searching

Content Delivery Networks. Shaxun Chen April 21, 2009

Transcription:

Efficient Data Retrieving in Distributed Datastreaming Environments Yunhao Liu, Jun Miao, Lionel M. Ni, and Jinsong Han Department of Computer Science Hong Kong University of Science and Technology Clear Water Bay, Kowloon, Hong Kong { liu, miaojun, ni, jasonhan }@cs.ust.hk Abstract In a potential distributed application, Automobile Tracking System (ATS), automobile location data is continuously generated, kept in a distributed manner. As large amount of traffic will be incurred during search process, it is critical to construct an efficient overlay multicast structure for the ATS so as to distribute traffic to all the physical links evenly, as well as balance the load among group members. In this paper, we propose a distributed protocol,, in which end hosts self-organize into multiple multicast trees. We evaluate the performance of with comprehensive simulations. Experimental results show that outperforms existing approaches in load balance, and its performance penalties are low from the network and the application perspectives. Keywords: automobile tracking system, overlay multicast, load balance, multiple multicast tree (). I. INTRODUCTION Along with the proliferation of low-cost sensor networks, our capability is extended to observe environments of interests. It brings a wide variety of exciting applications into realization, such as target tracking, intrusion detection, wildlife habitat monitoring, climate control, and disaster management []. In this paper, we focus on a potential multicast application, Automobile Tracking System (ATS), which provides automobile location information service. The basic idea of ATS is illustrated in Fig., where the sensors [7] are attached with RFID readers, and the RFID transponders are built in automobiles. The RFID transponders contain the information of automobiles, e.g., the registration/model numbers. The sensors are put along the roads, and distributed in a wide area of the city. One or several sensors are attached to a base station. The sensors can read the contents in the transponders as they pass by, and then send the information to the nearby base station through a wired or wireless network connection. The base station is composed of a computer, connected to the Internet, with a large storage space and computational capacity. Users of ATS are people who want to find the location of any automobile with an RFID transponder, and they may issue queries from the Internet. The response to their query contains the locations and timestamps of the tracked automobile. To avoid a single point of failure and to balance the system load, the base stations will not send the continuously collected records to a central database; instead, they keep the records locally. Therefore, each query should be multicast to all the base stations. Once a base station receives the query, it searches for the automobile records locally. When corresponding records are found, the base station directly sends them back to the user who issued the query. In ATS, the number of the base stations can be large, e.g., hundreds or thousands in a city, while all the base stations are relatively stable comparing with the popular peer-to-peer systems. We intend to employ a multicast-based protocol to serve ATS. To address most problems associated with IP multicast, overlay multicast is employed to provide explicit multicast support at the end system layer, or application layer. In overlay multicast, end hosts self-organized into an overlay structure and accomplish multicast by relaying data to each other via unicast. An end host can carry out sophisticated operations and contribute various resources such as CPU power, storage space, and access bandwidth to support multicast. The advantage of overlay multicast is that it does not need to change the network layer infrastructure. The disadvantages include consuming more bandwidth, sustaining longer latency, and keeping more states at end hosts. Figure. Automobile Tracking System

Overlay multicast shifts the multicast support from the network layer to the application layer, which causes the performance penalty. Communication between end hosts involves traversing other end hosts. The routing path from the source to the destination in overlay multicast may not match the optimal routing path at the IP layer. Therefore, overlay multicast incurs longer end-to-end delay as well as larger traffic than IP multicast. In overlay multicast, the overlay links may share the common physical links at random. Although many overlay multicast s are proposed, how to balance the load in the overlay multicast has not been investigated thoroughly. Only some naive degree bound heuristics were proposed to achieve load balance among group members. The objective of this research is to design an overlay multicast protocol for the ATS, which balances the load among the physical links as well as among the group members. The rest of this paper is organized as follows. Section discusses related work. Section describes the proposed distributed multiple multicast tree protocol,. Section provides simulation results of the distributed protocol. Section concludes this work. II. RELATED WORK Overlay multicast approaches can be classified as centralized and distributed algorithms. ALMI [, ] and HBM [] are two similar centralized approaches. ALMI employs a centralized control unit called controller. The controller periodically calculates a minimum spanning tree based on the measurement updates received from all the members. The link length used to calculate a minimum spanning tree can be any application specific metric which is computed by members in a distributed way and reported to the controller. Being simple and easy to approach the global optimal solution, ALMI has a single point of failure and poor scalability. The distributed approaches differ in the way of constructing the overlay topology. The tree-first approaches include YOID [9], TBCP [6], HMTP [], and NICE []. TBCP and HMTP rely on a recursive algorithm to build the tree. A newcomer first contacts the tree root, chooses the best node among the root s children, and repeats this top-down process until it finds an appropriate parent. The mesh-first approaches, such as Narada [] and Bayeux [], first constructs a rich and efficient mesh among members. It then constructs the spanning trees of the mesh and each tree is a source specific using a DVMRPlike [] routing algorithm. Every member maintains a list of all other members in the group. Almost all the overlay multicast protocols employ load balancing mechanisms. In ALMI, two routing algorithms [6] build the multicast tree to match the available bandwidth and to balance the load. The routing problem is first modeled as a minimum diameter, degree-limited spanning tree problem (MDDL). For MDDL problem, a compact tree (CT) algorithm is proposed, which is very similar to Prim s algorithm for []. The degree constraints are used to achieve load balance among multicast group members. The routing problem can be also modeled as a limited diameter, residual balanced spanning tree problem (LDRB). For LDRB problem, a balanced compact tree (BCT) algorithm is proposed. Both CT and BCT are centralized algorithms. They require large amount of computation and cannot react quickly to the network dynamics. In Narada, to match the available bandwidth and to balance the load, the number of the neighbors in the mesh is constrained, e.g., to 6. To the best of our knowledge, existing approaches simply pay attention to the load balance among the group members in the overlay layer. However, the load balance among physical links is also critical to the performance of applications, but not considered. Our approach,, focuses on the load balance among the physical links as well as achieving this balance among group members. III. MULTIPLE MULTICAST TREES ALGORITHM In designing our protocol, we have following objectives in mind. Load balance. To balance the load on the Internet is our main objective. From the network perspective, the constructed overlay must ensure that redundant transmission on physical links is kept minimal and the transmission is distributed evenly on the Internet. Overlay efficiency. The tree constructed must be efficient from the application perspective. Our application requires low link stress, even node degree, and low end to end delay. Robust. The construction of the overlay tree must be robust to dynamic changes of multicast membership. Adaptive to network dynamics. The overlay must adapt to the variations on the Internet. In this design, a number of multicast trees are built to disseminate the queries to balance the load. As several multicast trees are built simultaneously, we name this approach Multiple Multicast Trees (). Each query is distributed to one of the roots of the multicast trees. The distribution rule is based on the situations of the workload and bandwidth of the roots, and the delay to the roots. constructs the tree by fragment combination. The roots of the multicast trees are selected randomly from the group members. In case of two end hosts sharing the same gateway router, they should not be selected as roots simultaneously. To make different trees have even chance to select good overlay links, they combine in a round robin manner. The following is the main process of building one multicast tree. For a multicast tree, each node is a fragment at the beginning. Then each fragment selects one good outgoing link, and combines with another fragment through this link. When two fragments are combined together, the whole number of fragments is decreases by one. When there is only one fragment remaining, the algorithm terminates and the tree is built.

Build Distributed ( ) {. Randomly select the current tree id;. For current tree, while not all the fragments are connected {. Select p nodes with the smallest degree in the current fragment;. Randomly select p nodes which do not belong to the current fragment;. For each node in p nodes, select the minimum of all the length from this node to p nodes as the length from the node to the current fragment; 6. From p nodes, select the node nearest to the current fragment, combine current fragment with the fragment containing the node; 7. Refresh the node degrees, take next tree as the current tree; } } Figure. Distributed algorithm to build When one fragment selects another fragment and the corresponding links to combine with, it first selects p nodes with the smallest degree among all the nodes in the current fragment. These p nodes will be the candidate nodes to extend the fragment. The fragment then selects p nodes among all the nodes in the other fragments randomly, which become candidate nodes to be combined with. For each node in p nodes, it takes the minimum of all the lengths from this node to p nodes as the length to the fragment. The two fragments are combined through this link. The algorithm executed in each multicast group member is described in Fig.. We use an example to illustrate the heuristic. Figure illustrates a small physical topology and each node is a host or router and each link is a physical link. The circle-shaped nodes represent the multicast group members, e.g., nodes,, 6 and 7. The square-shaped nodes represent the other hosts or routers in the network, e.g.,, and. Figure (a) illustrates an example of having one multicast tree. The root is node 7 and the tree edges are overlay links (7, 6), (6, ) and (7, ). We can observe that the physical links (7, 6), (6, ), (, ) and (7, ) are used in the multicast tree. That means all the traffic will go though each of these links. Figure (b) illustrates the case of having two multicast trees. The first tree is rooted at node 7 and the tree edges are overlay links (7, 6), (6, ) and (7, ). The second tree is rooted at node and the tree edges are overlay links (, 7), (, ) and (, 6). We can observe that the physical links (7, 6), (6, ), (, ), (7, ), (, 7), (, ), (, ), (, ), (, 6) are used in the multicast trees. That means all the traffic is shared by these links. Compared with the one multicast tree case, more physical links are used and less traffic would go though each of these links in multiple multicast trees. We can conclude that one multicast tree only use a small part of all the physical links, while multiple multicast trees have a chance to use more physical links to balance the load among all of them. We propose two heuristics: Heuristic, which uses estimated hop number as link length, and Heuristic, which uses estimated hop number between two hosts and estimated hop number from the joining host to the root as link length. Figure (a) gives an example in which node is the root, nodes,, are tree nodes. Nodes and 6 want to join the tree. In Heuristic, the link lengths are and, respectively, as shown in Fig. (b). If we use Heuristic and define w=w=., where w and w are the set of nonnegative weights, and added up to, the link lengths are 6 and 7, respectively, as shown in Fig. (c). 7 6 6 (a) One multicast tree (a) Topology 7 6 (b) Two Multicast Trees (b) Non-root Heuristic (c) Heuristic Figure. Example of Multiple Multicast Tree Figure. Example of different metrics as link length

The message exchange and decision making process is very similar to distributed algorithm []. We start by describing how a fragment finds its outgoing edge to combine with another fragment. First, we consider the trivial special case of a zero level fragment, which is a single node. Initially, each node is in a quiescent state called sleeping. There are three possible node states: the initial state sleeping, the state find while participating in a fragment s search for the suitable outgoing edge, and the state found at other times. The sleeping node either spontaneously awakens or is awakened by receiving any message from another node. The fragment first chooses its suitable outgoing edge, marks this edge as a branch of the multicast tree, sends a message called connect over this edge, and goes into the state found, waiting for a response from the fragment at the other end of the selected edge. The process of selecting the suitable outgoing edge is as follows. Suppose a new fragment at level L has just been formed by the combination of two level (L-) fragments sharing the selected edge, it becomes the core of the new fragment. The two nodes adjacent to the core start the new cycle by broadcasting an initiate message to other nodes of the fragment. When a node receives an initiate message, it starts to find a suitable outgoing edge. Each node classifies its adjacent edges into one of three possible states: branch, if the edge is an selected overlay edge in the current fragment; reject, if the edge is not a branch but has been discovered to join two nodes of the fragment; and basic, if the edge is neither a branch nor reject. In order to find a suitable outgoing edge, a node selects the branch edge and sends a test message on it. When a node receives such a test message, it checks whether or not its own fragment identity agrees with that of the test message. If the identities agree, the node sends the rejection message back to the sender of the test message, and both nodes put the edge in the reject state. The node sends the test message to the next best edge. If the node receiving a test message has a different identity from that of the test message, or the fragment level of receiving node is greater than or equal to that of the test message, the message accept is sent back to the sending node, certifying that the edge is an outgoing edge from the fragment of the sending node. If on the other hand the receiving node s fragment level is less than the level of the test message, the receiving node delays making the response. When no node has outgoing edges, the algorithm is completed, and the fragment is the multicast tree. Each leaf node of the fragment, which is adjacent to only one fragment branch, sends the message report (W) on its inbound branch, where W is the length of the outgoing edge. Each interior node of the fragment waits until it has both found its own selected edge and received message on all outbound fragment branches. Then the node denotes the edge and reports it to its inbound branch. Eventually, the two nodes adjacent to the core send report messages on the core branch, allowing each of these nodes to determine both the length of the selected outgoing edge and the side of the core on which this edge lies. After the two core nodes have exchanged report messages, the best edges saved by the fragment nodes make it possible to trace the path from the core to the node having the outgoing edge. The message change-core is sent over each branch of this path, and the inbound edge for each of these nodes is changed to correspond to the outgoing edge. When this message reaches the node with the outgoing edge, the inbound edges form a rooted tree, rooted at this node. Finally, the node sends the message connected (L) over the outgoing edge, where L is the level of the fragment. If the two fragments at level L have the same outgoing edge, then each of them sends the message connected (L) over the edge, one in each direction. This will cause the edge to become the core of a level (L+) fragment and causes new initiate messages with the new level and fragment identity to be sent out. IV. PERFORMANCE EVALUATION We study the performance of the distributed algorithm through simulation experiments. We compare our load balance heuristic with existing load balance heuristics. The network topologies for these experiments are generated using the Transit-Stub graph model of the GT-ITM topology generator [8]. The network topologies are composed of, nodes with average degree of. Among all the nodes, there are transit nodes, and stub networks which have totally, nodes. The multicast group size is. Multicast group members are nodes randomly selected in the stub networks. We employ three set of simulations. () Heuristic vs. Heuristic in Distributed algorithm; () Distributed algorithm; () Distributed heuristic vs. existing distributed load balance heuristics. We use different performance criteria in our simulation as follows. Total physical traffic is the totally used network resource to deliver one packet in the multicast structure. In our simulation, it is represented by the sum of the physical hop numbers per packet. Average node stress is the degree in the multicast trees for each multicast group member. Node stress deviation is the deviation of node stress of all the multicast group members. The node stress deviation indicates the load balance among group members. Average link stress indicates the average load on the physical links. Largest delay is the delay from the source to the farthest receiver. In our simulation, it is represented by the hop numbers from the source to the farthest receiver. Average delay is the average delay from the source to all the receivers.

9 8 88 Largest Delay 6 8 6 Physical Traffic 86 8 8 8 78 76 7 7 7 9 6 Average Delay 8 7 6 Physical Links Number 8 6 Figure. Largest and average delay Figure 6. Physical traffic and number of physical links used. We first compare the distributed algorithms using two different metrics as the link length as described above. We can find in Fig. when we use Heuristic, the largest and average delay is much less than that of Heuristic. Other criteria are slightly degraded in Heuristic as the tradeoff. Fig. 6 shows that in Heuristic, the physical traffic is a little larger and the physical links number is a little smaller than that of Heuristic. We employ Heuristic in as it can achieve shorter delay than Non Heuristic. In our next simulation, we compare five different approaches. They all build multiple multicast trees except the third approach, which only builds one multicast tree. uses multiple random, in which shortest link is always selected whatever it has already been selected by other trees or not. This heuristic results in small total physical traffic while the overlay links could be overlapped. Besides, the delay is not considered in this approach. always selects the shortest link which has not been selected by any other trees. This approach can guarantee that all the overlay links are distinct. The total physical traffic is a little larger than the approach, because longer length links are selected to avoid overlapping. The delay is not considered in this approach., in which the shortest link is always selected when the degree of the nodes is under a specific constraint. This heuristic is used in many multicast protocols to provide the load balance among group members. uses multiple degree s.. The fifth is our proposed distributed approach. In Fig. 7, we can observe that they have similar total traffic. Our has a little higher totally used physical link number. The degree constrained single tree approach only builds one tree, so its total physical links number is much lower than other multiple tree approaches. In the node stress deviation, is the lowest among all the approaches. This indicates that our can balance the load among group members much more evenly than all the other approaches. In Fig. 8, we can see that has larger low link stress part, while it has much smaller high link stress part than other approaches. The largest stress of is only half of the values of other approaches. In Figures 9 and, the average link stress of approach is small among the five approaches. In, the cumulative distribution of physical link stress approaches % much earlier than other approaches. This implies that outperforms other approaches in load balance among the physical links. V. CONCLUSION In this paper, we proposed a multiple multicast tree structure to support our data streaming application, ATS. The major design goal of this work is to balance the load on the network. The proposed distributed Multiple Multicast Tree () protocol is practical for implementation. We evaluate by comprehensive simulations. The results demonstrate that our heuristic significantly outperforms existing approaches in the load balance. We are currently working on a Peer-to-Peer live streaming project at our lab. In future work, we are going to employ in PP and IP-TV designs, and further evaluate its performance in real environments.

9 8 8 7 6 6 Total Traffic Physical Links... Node Stress Dev 6 7-- Biggest Stress Figure 7. Physical traffic, physical links number and node stress deviation Figure 8. Physical link stress distribution........ Percentage.9.9.8.8.7 6 8 Physical Link Stress Figure 9. Average physical link stress Figure. Cumulative distribution of physical link stress ACKNOWLEDGMENT This work was supported in part by the by Microsoft Research Asia, by Hong Kong RGC Grants DAG /.EG, HKUST66/E, and China 97 No.CB78. REFERENCE [] I. F. Akyildiz, W. Su, Y. Sankarasubramaniam, and E. Cayirci, "A survey on sensor networks", IEEE Communications Magazine, [] S. Banerjee, B. Bhattacharjee, and C. Kommareddy, "Scalable application layer multicast", In Proceedings of ACM SIGCOMM, Pittsburgh, Pennsylvania, [] V. Chankong and Y. Y. Haimes, Multiobjective Decision Making: Theory and Methodology, Elseviker-North Holland, New York, 98 [] Y. Chawathe, "Scattercast: an architecture for Internet broadcast distribution as an Infrastructure service." Ph.D Thesis, University of California, Berkeley, [] Y. H. Chu, S. G. Rao, and H. Zhang, "A case for end system multicast", IEEE Journal on Selected Areas in Communications, [6] T. H. Cormen, C. E. Leiserson, and R. L. Rivest, Introduction to Algorithms, MIT Press, 99 [7] K. Finkenzeller, RFID Handbook: Fundamentals and Applications in Contactless Smart Cards and Identification, Wiley, Chichester, England, [8] Y. Liu, Z. Zhuang, L. Xiao, and L. M. Ni, "A distributed approach to solving overlay mismatching problem", In Proceedings of IEEE ICDCS, Tokyo, Japan, [9] L. Mathy, R. Canonico, and D. Hutchison, "An overlay tree building control protocol", In Proceedings of the Third International COST6 Workshop on Networked Group Communication, London, UK, [] D. Pendarakis, S. Shi, D. Verma, and M. Waldvogel, "An application level multicast infrastructure", In Proceedings of Usenix Symposium on Internet Technologies & Systems (USITS ), San Francisco, CA, USA, [] V. Roca and A. El-Sayed, "A host-based multicast (HBM) solution for group communications", In Proceedings of the First International Conference on Networking, [] S. Shi, "Design of overlay networks for internet multicast", Ph.D Thesis, Department of Computer Science, Washington University, [] S. Y. Shi and J. S. Turner, "Routing in overlay multicast networks", In Proceedings of IEEE INFOCOM, New York, NJ, USA, [] D. Waitzman, C. Partrideg, and S. E. Deering, "Distance vector multicast routing protocol. RFC 7", 988 [] E. W. Zegyra, K. L. Calvert, and S. Bhattacharjee, "How to model an internetwork", In Proceedings of IEEE INFOCOM, San Francisco, CA, USA, 996 [6] B. Zhang, S. Jamin, and L. ZhangB, "Host multicast: a framework for delivering multicast to end users", In Proceedings of IEEE INFOCOM, New York, NJ, USA,