Low-Latency Multi-Source Broadcast in Radio Networks

Similar documents
TIME- OPTIMAL CONVERGECAST IN SENSOR NETWORKS WITH MULTIPLE CHANNELS

Approximation algorithm for data broadcasting in duty cycled multi-hop wireless networks

CONVERGECAST, namely the collection of data from

THE field of personal wireless communications is expanding

Interference-Aware Joint Routing and TDMA Link Scheduling for Static Wireless Networks

Fast Sorting and Pattern-Avoiding Permutations

Hierarchical Agglomerative Aggregation Scheduling in Directional Wireless Sensor Networks

MULTI-HOP wireless networks consist of nodes with a

Gateways Placement in Backbone Wireless Mesh Networks

Minimum-Latency Broadcast Scheduling in Wireless Ad Hoc Networks

Minimum-Latency Schedulings for Group Communications in Multi-channel Multihop Wireless Networks

Distributed Broadcast Scheduling in Mobile Ad Hoc Networks with Unknown Topologies

Cutting a Pie Is Not a Piece of Cake

Duty-Cycle-Aware Minimum Latency Broadcast Scheduling in Multi-hop Wireless Networks

TOPOLOGY, LIMITS OF COMPLEX NUMBERS. Contents 1. Topology and limits of complex numbers 1

Connected Identifying Codes

Foundations of Distributed Systems: Tree Algorithms

Time-Efficient Protocols for Neighbor Discovery in Wireless Ad Hoc Networks

Wireless Network Coding with Local Network Views: Coded Layer Scheduling

Mobility Tolerant Broadcast in Mobile Ad Hoc Networks

Lower Bounds for the Number of Bends in Three-Dimensional Orthogonal Graph Drawings

Improved Algorithm for Broadcast Scheduling of Minimal Latency in Wireless Ad Hoc Networks

PHED: Pre-Handshaking Neighbor Discovery Protocols in Full Duplex Wireless Ad Hoc Networks

Superimposed Code Based Channel Assignment in Multi-Radio Multi-Channel Wireless Mesh Networks

p-percent Coverage in Wireless Sensor Networks

Minimum-Latency Beaconing Schedule in Duty-Cycled Multihop Wireless Networks

Interference-Aware, Fully-Distributed Virtual Backbone Construction and its Application in Multi-Hop Wireless Networks

Online Call Control in Cellular Networks Revisited

Approximation Algorithms for Interference Aware Broadcast in Wireless Networks

More Great Ideas in Theoretical Computer Science. Lecture 1: Sorting Pancakes

12. 6 jokes are minimal.

Scheduling Data Collection with Dynamic Traffic Patterns in Wireless Sensor Networks

Capacity of Dual-Radio Multi-Channel Wireless Sensor Networks for Continuous Data Collection

The Worst-Case Capacity of Wireless Sensor Networks

On the Capacity of Multi-Hop Wireless Networks with Partial Network Knowledge

Medium Access Control via Nearest-Neighbor Interactions for Regular Wireless Networks

On uniquely k-determined permutations

From Shared Memory to Message Passing

Mechanism Design without Money II: House Allocation, Kidney Exchange, Stable Matching

Pattern Avoidance in Unimodal and V-unimodal Permutations

Self-Stabilizing Deterministic TDMA for Sensor Networks

Minimum delay Data Gathering in Radio Networks

Topology Control. Chapter 3. Ad Hoc and Sensor Networks. Roger Wattenhofer 3/1

Energy-Efficient Data Management for Sensor Networks

An Enhanced Fast Multi-Radio Rendezvous Algorithm in Heterogeneous Cognitive Radio Networks

and problem sheet 7

Game Theory and Randomized Algorithms

Problem Set 10 Solutions

The Complexity of Connectivity in Wireless Networks

Monitoring Churn in Wireless Networks

Probabilistic Coverage in Wireless Sensor Networks

Tilings with T and Skew Tetrominoes

ON SPLITTING UP PILES OF STONES

An Optimal (d 1)-Fault-Tolerant All-to-All Broadcasting Scheme for d-dimensional Hypercubes

On the Time-Complexity of Broadcast in Multi-Hop Radio Networks: An Exponential Gap Between Determinism and Randomization

Analysis of Power Assignment in Radio Networks with Two Power Levels

Introduction. Introduction ROBUST SENSOR POSITIONING IN WIRELESS AD HOC SENSOR NETWORKS. Smart Wireless Sensor Systems 1

Constructions of Coverings of the Integers: Exploring an Erdős Problem

Broadcasting in Conflict-Aware Multi-Channel Networks

Olympiad Combinatorics. Pranav A. Sriram

On Coding for Cooperative Data Exchange

TIME OF DETERMINISTIC BROADCASTING IN RADIO NETWORKS WITH LOCAL KNOWLEDGE

Localization (Position Estimation) Problem in WSN

Optimal Transceiver Scheduling in WDM/TDM Networks. Randall Berry, Member, IEEE, and Eytan Modiano, Senior Member, IEEE

18.204: CHIP FIRING GAMES

Design of an energy efficient Medium Access Control protocol for wireless sensor networks. Thesis Committee

PHED: Pre-Handshaking Neighbor Discovery Protocols in Full Duplex Wireless Ad Hoc Networks

SOLUTIONS FOR PROBLEM SET 4

Interference-Aware Broadcast Scheduling in Wireless Networks

A Message Scheduling Scheme for All-to-all Personalized Communication on Ethernet Switched Clusters

LECTURE 7: POLYNOMIAL CONGRUENCES TO PRIME POWER MODULI

Joint Scheduling and Fast Cell Selection in OFDMA Wireless Networks

Acknowledged Broadcasting and Gossiping in ad hoc radio networks

CSE 573 Problem Set 1. Answers on 10/17/08

Efficient Recovery Algorithms for Wireless Mesh Networks with Cognitive Radios

ON OPTIMAL PLAY IN THE GAME OF HEX. Garikai Campbell 1 Department of Mathematics and Statistics, Swarthmore College, Swarthmore, PA 19081, USA

Energy-efficient Broadcasting in All-wireless Networks

Göttlers Proof of the Collatz Conjecture

Primitive Roots. Chapter Orders and Primitive Roots

Low-Cost Routing in Selfish and Rational Wireless Ad Hoc Networks

Lightweight Decentralized Algorithm for Localizing Reactive Jammers in Wireless Sensor Network

Permutation Groups. Every permutation can be written as a product of disjoint cycles. This factorization is unique up to the order of the factors.

Performance Evaluation of Minimum Power Assignments Algorithms for Wireless Ad Hoc Networks

A Scalable and Adaptive Clock Synchronization Protocol for IEEE Based Multihop Ad Hoc Networks

Network-Wide Broadcast

End-to-End Known-Interference Cancellation (E2E-KIC) with Multi-Hop Interference

Constructing K-Connected M-Dominating Sets

Multi-Radio Channel Detecting Jamming Attack Against Enhanced Jump-Stay Based Rendezvous in Cognitive Radio Networks

NON-OVERLAPPING PERMUTATION PATTERNS. To Doron Zeilberger, for his Sixtieth Birthday

3644 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 57, NO. 6, JUNE 2011

OVSF-CDMA Code Assignment in Wireless Ad Hoc Networks

Algorithmics of Directional Antennae: Strong Connectivity with Multiple Antennae

ON BROADCAST SCHEDULING AND DYNAMIC PHENOMENA DETECTION IN WIRELESS SENSOR NETWORKS

The tenure game. The tenure game. Winning strategies for the tenure game. Winning condition for the tenure game

Robust Location Detection in Emergency Sensor Networks. Goals

A Complete Characterization of Maximal Symmetric Difference-Free families on {1, n}.

Greedy Algorithms. Kleinberg and Tardos, Chapter 4

A Distributed Protocol For Adaptive Link Scheduling in Ad-hoc Networks 1

EXPLAINING THE SHAPE OF RSK

How (Information Theoretically) Optimal Are Distributed Decisions?

Transcription:

Low-Latency Multi-Source Broadcast in Radio Networks Scott C.-H. Huang City University of Hong Kong Hsiao-Chun Wu Louisiana State University and S. S. Iyengar Louisiana State University In recent years we have witnessed the urgent demand in a wide variety of applications for wireless sensor networks, such as military surveillance, disaster relief, environmental monitoring, etc. In these applications, usually a base (sensor) station is responsible for monitoring the entire network and collecting the data (information). If any emergency or certain events of interest occur in any region, the base station, referred to as a message source, will propagate the information to all other nodes. However, such a scenario may not be practical. Quite often, the message source is not a fixed node. Instead, there may be multiple message sources in charge of different regions or events. On the latter circumstance, the challenging issue therefore becomes how to propagate information efficiently when message sources vary from time to time. None of conventional broadcast algorithms performs well in this case since at each time, the change of message source incurs a huge implementation cost of re-building a broadcast tree. To deal with this difficult problem, we make endeavor in studying the theorems and the algorithms for multiple source broadcast. The targeted algorithms should be source-independent to serve the practical need. In this paper, we formulate the Minimum-Latency Multi-Source Broadcast problem. We propose a novel solution using a fixed shared backbone, which is independent of the message sources and can be used repeatedly to reduce the broadcast latency. To the best of our knowledge, our work is deemed the first attempt to design such a multi-source broadcast algorithm with a derived theoretical latency upper-bound. Categories and Subject Descriptors:?.?.? [???]:??? 1. INTRODUCTION The advances of computer technology in recent decades have dramatically impacted on people s daily life [Hopcroft 1986; 1987; 2008]. Especially in wired and wireless networks, the computer related research facilitates the backbone. Over the past years, we have witnessed the deployments of wireless sensor networks (WSNs) in a wide variety of applications such as military surveillance, disaster forecast, structural health monitoring, etc. Sensor nodes used for these applications must continuously monitor the physical entities or the environmental variations of interest and respond to any anomaly in real time. A crucial objective of employing these WSNs is to propagate real-time information from a source node to the other nodes in a specified region or throughout the entire network. For instance, the sensor node that detects an intruder must alert other nodes lying on the intruder s potential proceeding path or even all other nodes in the same network. Furthermore, the alert message must be delivered to other nodes promptly in order to maintain continuous surveillance and to track the mobile targets. Motivated by the aforementioned applications, this paper studies the fundamental problem of Minimum-Latency Multi-Source Broadcast in WSNs. The objective is to minimize Journal of the ACM, Vol. V, No. N, Month 20YY, Pages 1 0??.

2 Scott C.-H. Huang et al., Low-Latency Multi-Source Broadcast in Radio Networks, May 15, 2009 the maximum latency of broadcasting a message from a subset of nodes (called the source subset) to all other nodes in the network. Moreover, the source subset may vary over time. Although there already exist several algorithms in the literature to minimize the singlesource broadcast latency in a network [Gandhi et al. 2003; Huang et al. 2007], these algorithms were designed to propagate information on a routing tree rooted at a fixed source. The routing tree depends on the source. If the source changes, the routing tree needs to be constructed again. As a result, none of the existing algorithms can deal with the scenario that the source changes over time without incurring a prohibitively high memory requirement or routing-tree construction cost. The main contribution of this work is that we design a broadcast algorithm independent of the source subset. We construct a shared backbone (c.f. routing tree) for all possible source subsets, so this shared backbone only needs to be constructed once. Whenever one or more nodes need to broadcast a message to the entire network, we can use the same shared backbone repeatedly. Thus the multi-source broadcast can be dealt with in practice. To the best of our knowledge, our work is the first attempt to design a multisource broadcast algorithm with a proven theoretical latency upper-bound. The rest of this paper is organized as follows. We present the preliminaries in 2 and we introduce two very important techniques called tessellation and coloring in 3. We introduce our main algorithm in 4, which facilitates an upper bound on the multi-source broadcast latency. We introduce a heuristic algorithm in 5 which does not have a proven theoretical latency bound but the simulation shows that this algorithm actually achieves a much lower latency. We show some examples in 6 for algorithmic illustration. Numerical results are shown in 7, and related work is presented in 8 for comparison. Conclusion will be drawn in 9. 2. PRELIMINARIES For studies, a wireless network is modeled as a unit disk graph (UDG), G = (V, E) with n = V, if we assume that all the nodes in V are deployed on a plane and each node u V is equipped with an omnidirectional antenna with a transmission range 1. Throughout this work, we assume that G is connected. Two nodes u and v are neighbors or adjacent in G if and only if their Euclidean distance in between is less than 1. We further assume that time is discrete and synchronized across the network by a global clock. Thus each node in the network is equipped with a clock and the clocks for all nodes are synchronized. Each node is able to read a variable, denoted by Time, representing its clock value. Message transmissions are allotted into the synchronized time slots of equal length. In each time slot, a node can either transmit or receive a message but cannot carry both out simultaneously. Due to the broadcast nature of a wireless channel, whenever a node transmits a message, all its neighbors are aware of this transmission. If two or more neighbors around a node w transmit in the same time slot, w will not successfully receive any message; in this case, we also say that collision occurs at the node w. Throughout this work, we also assume that each node in the network has a unique ID. 2.1 Problem Formulation In a network represented as a UDG G = (V, E), a single-source broadcast schedule with respect to a fixed source node s V can be represented as a function f s as follows. f s : V N {0, 1}, (1)

Scott C.-H. Huang et al., Low-Latency Multi-Source Broadcast in Radio Networks, May 15, 2009 3 where { 1 if v transmits in time slot t f s (v, t) = def 0 otherwise and v V, t N. Throughout this paper, we say that a node v is scheduled to transmit in time slot t if and only if we set f s (v, t) to one. A node u V is said to receive successfully or receive collision-free in time slot t from a neighbor v V if and only if f s (v, t) = 1 and f s (w, t) = 0, w = v such that w is a neighbor of u. If a node v is scheduled to transmit a message in time slot t, it is required that either v is the source or v has received the message successfully from a relay node in an earlier time slot. It is also required that each node in V except for the source s will eventually receive the message successfully (either from s directly or through a relay node). Given the source s, the latency of a singlesource broadcast schedule f s is the last time slot such that there are still some node(s) transmitting. Formally, the latency of f s can be defined as lat(f s ) = def max{t N f(v, t) = 1, v V} (2) Similarly, a multi-source broadcast schedule with respect to a fixed nonempty source subset U V can be represented as a function f U : V N {0, 1}, in which f U depends on U instead of a single node. Each source node u U is preloaded with a sourcedependent message m u, and the objective is to distribute m u to V {u}, for each u U. Consequently, the latency of f U can be defined as lat(f U ) = def max{t N f(v, t) = 1, v V} (3) The overall latency of all multi-source schedules can be defined as the maximum latency over all source subsets as follows. Lat = def max lat(f U). (4) U V Note that Lat is independent of U. The minimum-latency multi-source broadcast problem can be defined as follows. Given a UDG G = (V, E), for each subset U, find a multi-source broadcast schedule f U such that the overall latency Lat is minimized. We also assume that a node can aggregate (combine) multiple messages into one single message for later relay to save bandwidth. 3. TESSELLATION AND COLORING To facilitate later discussions in 4 and 5, in this section we introduce a very useful technique for the broadcast scheduling throughout this work. Hexagonal Tessellation: A tessellation of the plane is a way of partitioning it into identical (or similar) pieces. A hexagonal tessellation is partitioning the entire plane into hexagons, as shown in Figure 1 (a). Each hexagon is half-open, half-closed, with both the top and the bottom points removed as shown in Figure 1 (b). The diameter of each hexagon is 1. Because we define these hexagons as half-open, half-closed and their diameter is 1, the following fact is obviously true. FACT 1. Each point on the plane must lie exactly in one hexagon. Any two points separated by a Euclidean distance more than 1 must lie in two different hexagons. Coloring for a Hexagonal Tessellation: We can color a tessellation in various ways. A coloring is a mapping between hexagons of a tessellation to some integers that represent

4 Scott C.-H. Huang et al., Low-Latency Multi-Source Broadcast in Radio Networks, May 15, 2009 colors. Since the plane is a disjoint union of hexagons (as we define them as half-open, half-closed and no overlapping happens), we can also associate each point on the plane with a color, which is the color of the hexagon containing it. We can therefore view a coloring as a mapping from the plane to a specified subset {1,..., Π} of integers (representing colors) as follows. C : R R {1,..., Π} N. If we use Π integers to represent the colors (i.e. the size of the subset is Π), we also call it a Π-coloring. In this paper, we will be using two colorings: 12 and 37 colorings. We introduce the 12- coloring here first. We view 12 hexagons as a single entity and associate each of them with a number from 1 to 12 as shown in Fig. 1(c). This arrangement can be extended beyond 12 hexagons to the entire plane by mimicking this arrangement as shown in Fig. 2(a), in which each hexagon on the plane is associated with a number from 1 to 12. We denote this coloring by C 12, and as described earlier we can also view this coloring as a mapping from a point on the plane to a number. For each point x on the plane, we denote the corresponding color by C 12 (x). Similarly, the 37-coloring is defined as follows. We view 37 hexagons as a single entity and associate each of them with a number from 1 to 37 as shown in Fig. 2(b). We extend it to the entire plane as shown in Fig. 2(c). This 37-coloring is denoted by C 37. 1 2 3 4 5 6 7 8 9 10 11 12 Fig. 1. (a) Hexagonal tessellation (b) One hexagon (c) 12-coloring We state the following fact regarding the 12- and 37-colorings. FACT 2. In C 12, the distance between any two hexagons of the same color is at least 2. In C 37, the distance between any two hexagons of the same color is more than 4. Since the diameter of each hexagon is 1, this fact follows immediately from the geometrical properties of C 12 and C 37. For this reason, we omit the proof and present it as a fact. Note that the way to organize these hexagons and color them is not unique. There are still many different ways to color these hexagons, and we may just consider one of them without loss of generality. For more details, see [Leese 1997]. 4. OUR PROPOSED MULTI-SOURCE BROADCAST ALGORITHM Here in this section we propose our main algorithm to tackle with the multi-source broadcast problem. Unlike the single, fixed-source broadcast problem extensively studied in the literature, we consider the realistic problem that the source nodes many be subject to change from time to time. Such scenarios arise in many applications. The main algorithm of this section is Algorithm 6. However, in order to present this algorithm clearly, we need to introduce many other relevant algorithms as the required subroutines.

Scott C.-H. Huang et al., Low-Latency Multi-Source Broadcast in Radio Networks, May 15, 2009 5 1 2 3 4 5 6 7 1 2 3 8 9 10 1 2 3 4 5 6 7 11 12 4 5 6 7 8 9 10 1 2 3 8 9 10 11 12 4 5 6 7 11 12 1 2 3 8 9 10 1 2 3 4 5 6 7 11 12 4 5 6 7 8 9 10 1 2 3 8 9 10 11 12 4 5 6 7 11 12 8 9 10 11 12 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 20 21 22 34 35 36 37 10 11 27 28 1 2 3 4 16 17 18 32 33 5 6 7 8 9 23 24 37 10 11 12 13 14 15 29 30 4 16 17 18 19 20 21 22 34 9 23 24 25 26 27 28 1 2 14 15 29 30 31 32 33 5 6 21 22 34 35 36 37 10 11 12 27 28 1 2 3 4 16 17 18 Fig. 2. (a) 12-coloring filling up the plane (b) 37-coloring (c)37-coloring filling up the plane Preprocessing Phase I Phase II Alg.1 Alg.4 Part 1 Alg.2 Part 2 Alg.3 Alg.5 Multi-Source Broadcast Alg.6 (Main) Fig. 3. Dependence relations of our algorithms in 4 Our multi-source broadcast algorithm is Algorithm 6, and before executing it we need the preprocessing. The preprocessing stage involves two phases: (I) Shared backbone construction and (II) Distributed handshaking. Phase I is undertaken in a centralized fashion, but it needs to be done only once and can be performed offline. Since Phase I involves a very lengthy algorithm, we break it into Part 1 (Algorithm 2) and Part 2 (Algorithm 3). The core of Phase II is Algorithm 5, which is fully distributed. In order to facilitate this algorithm, Phase I needs to be carried out as a precondition. In Algorithm 2, we run Algorithms 1 and 4 as the necessary subroutines, so we need to introduce Algorithms 1-5 before presenting Algorithm 6 in this section. The dependence relations among these algorithms are illustrated in Fig. 3. 4.1 Phase I: Shared Backbone Construction Here we present the method of constructing a shared backbone. The detailed steps are presented in Algorithms 1,2, and 3. Given a network G = (V, E), we first run Algorithm 1

6 Scott C.-H. Huang et al., Low-Latency Multi-Source Broadcast in Radio Networks, May 15, 2009 Algorithm 1 Primary Node Selection Input: A graph G = (V, E) with a node ordering O = (v 1, v 2,, v n ) Output: A subset P V. 1: P v 1. 2: for j 2 to n do 3: Add v j to P if v j is not adjacent (with respect to G) to any node in P. 4: end for 5: return P. to obtain a subset of nodes P, called the set of primary nodes. Then we run Algorithm 2 followed by Algorithm 3 to obtain a set of secondary nodes or connectors, denoted by S, and then we add edges to result in a connected shared backbone H = (V, E H ). Note that H possesses the important properties stated in Lemma 1. The remaining nodes not chosen as either primary or secondary nodes are referred to as the tertiary nodes. Algorithm 2 Shared Backbone Construction (Part I) Precondition: A connected unit disk graph G = (V, E) Postcondition: This algorithm outputs a subgraph H = (V, E H ) of G and an auxiliary graph J = (V J, E J ) possessing the five properties stated in Lemma 1. 1: Apply Alg. 1 with an arbitrary node ordering of V to obtain P. 2: S. V J P. E J. 3: for each pair {u, v} P such that u, v are within 3 hops do 4: if there exist node(s) that is adjacent to both u and v then 5: Pick the one with the largest ID and denote it by w 0. We call w 0 the sole connector for u and v. 6: Add w 0 to S. Add (u, w 0 ) and (v, w 0 ) to E H. 7: Add (u, v) to E J. 8: else 9: Compare the IDs of u and v. Without loss of generality, we may assume that u is the one with the larger ID. 10: Consider each pair of nodes (w u, w v ) such that w u is adjacent to u, w v is adjacent to v, and w u, w v are adjacent to each other. 11: From these w u s, we pick the one with the largest ID and denote it by w 1. 12: We then look at these w v s such that w v is also a neighbor of w 1, and choose the one with the largest ID to be denoted by w 2. 13: We call w 1 and w 2 the first-hop and second-hop connectors for u and v, respectively. 14: Add w 1, w 2 to S, and add (u, w 1 ), (w 2, v), and (w 1, w 2 ) to E H. 15: Add (u, v) to E J. 16: end if 17: end for 18: Run Alg. 4 to obtain label and parent information. 19: For each x V P, add (x, pr(x)) to E H. /* Note that pr(x) is an output of Alg. 4. */

Scott C.-H. Huang et al., Low-Latency Multi-Source Broadcast in Radio Networks, May 15, 2009 7 LEMMA 1. (Postcondition of Alg. 2) The shared backbone H = (V, E H ) and the auxiliary graph J = (V J, E J ), both obtained by applying Algorithm 2, have the following properties: (1) No primary nodes are adjacent to each other. Any node in V must either be a primary node itself or be adjacent to some primary node in H. (2) H is a connected, spanning subgraph of G. (3) For any pair of nodes in V, suppose that the hop distances between them in G and in H are denoted by d G and d H, respectively; then we have d H 3d G + 2. (4) If (u, v) E J is an edge of J, then u and v must either be 2-hop or 3-hop neighbors in G. (5) For any pair of nodes in J, suppose that the hop distances between them in G and in J are denoted by d G and d J, respectively; then we have d G 3d J. Proof of Property (1): According to Algorithm 1, it immediately follows that no primary nodes are adjacent to each other. Moreover, we know that any secondary or tertiary node must be adjacent to some primary node in G for the following reason. Assume the contrary that there exists a node x / P such that x is not adjacent to any node in P, then x itself would have been added to P according to line 3 of Algorithm 1. Therefore there is a contradiction. Moreover, not only is x adjacent to some primary node in G, x is adjacent to the same primary node in H as well according to line 19 of Algorithm 2. Therefore this property is proved. Proof of Property (2): First we state the following claim: any two primary nodes u, v P within m hops (m 3) in G will be connected by a path in H. This claim can be proved by induction on m. Obviously, according to the secondary node selection method in Algorithm 2, any two primary nodes u, v P within 3 hops in G will be connected by a path in H. Therefore, the base case m = 3 is proved. Now we assume this claim holds for m = m and we will prove that it also holds for m = m + 1. Suppose that u, v P are (m + 1)-hop neighbors and are connected by a path u, w 1, w 2,..., w m, v in G. Now we look at w m 1. If w m 1 P, we are done for the following reason. Since u, w m 1 are (m 1)-hop neighbors and w m 1, v are 2-hop neighbors, according to the induction assumption, we know that both u, w m 1 and w m 1, v are connected by a path in H and therefore u, v must also be connected by a path in H. If w m 1 / P, according to Property (1), w m 1 must be adjacent to a primary node b. Then u, b are m -hop neighbors and b, v are 3-hop neighbors. Similarly, according to the induction assumption, we know that both u, b and b, v are connected by a path in H and therefore u, v must also be connected by a path in H. Thus, we have proved this claim. Now, to prove this property, we arbitrarily pick a primary node p 0. The claim says that all primary nodes are connected to p 0 in H, so we only need to show that any secondary or tertiary node is connected to p 0 in H as well. This is trivial because, according to Property (1), any secondary or tertiary node must be adjacent to some primary node. Thus, Property (2) is proved. Proof of Property (3): Given u, v V, suppose that the hop-distance between them in G is m and u = a 0, a 1, a 2,..., a m 1, a m = v is a shortest path in G connecting them. Define p i for each i (0 i m) as follows. If a i P, p i = a i. Otherwise, we arbitrarily pick one primary node adjacent to a i as p i. Note that in such case we can always pick

8 Scott C.-H. Huang et al., Low-Latency Multi-Source Broadcast in Radio Networks, May 15, 2009 one primary neighbor according to Property (1), which guarantees a i must be adjacent to some primary node. Therefore, p i P, i. Now, for each pair p i 1, p i, they are 2-hop neighbors in G if p i 1 = a i 1 or p i = a i. Otherwise, they are 3-hop neighbors. Note that p i 1 = a i 1 and p i = a i cannot hold at the same time because a i 1 is adjacent to a i and two primary nodes cannot be adjacent to each other according to Algorithm 1. For this reason, either p i 1 = a i 1 or p i = a i or both. If p i 1 = a i 1 and p i = a i, then p i 1 and p i are connected by two secondary or tertiary nodes a i 1 and a i in G. Hence, p i 1 and p i are 3-hop neighbors. If p i 1 = a i 1 and p i = a i, or p i 1 = a i 1 and p i = a i, then p i 1 and p i are connected by only one node, either a i 1 or a i. Hence, p i 1, p i are 2-hop neighbors. Therefore, we have shown that for each i, 1 i m, p i 1, p i are within 3-hops in G. According to the node selection method in Algorithm 2, p i 1, p i will be connected by a path and will be within 3 hops in H. Therefore, each edge (p i 1, p i ) in G corresponds to a path of at most 3 edges in H. It implies that the distance of (p i 1, p i ) with respect to H is at most three times the distance of (p i 1, p i ) with respect to G. Finally, since u is either equal to p 0 or adjacent to p 0 (similarly, v is either equal to p m or adjacent to p m ), in any case, d H 3d G + 2 holds. Proof of Property (4): This property follows directly from the construction of H and J in lines 6, 7, 14, and 15 of Algorithm 2. In lines 6 and 7, two primary nodes u, v are joined by one single connector, as shown in Fig. 4(a). In line 14 and 15, two primary nodes u, v are joined by two connectors, as shown in Fig. 4(b). u w 0 v u w 1 w 2 v (a) Two primary nodes u, v joined by the sole connector w 0 (b) u, v joined by the first-hop and the second-hop connectors w 1 and w 2, respectively Fig. 4. Primary nodes and their connectors Proof of Property (5): According to Property (4), each edge in J corresponds to two or three edges in G. Therefore, for any two points u, v J, along their shortest path in J we can replace each edge by two or three edges in G and thus construct a path connecting u and v. Consequently, d G 3d J. We present the postcondition of Algorithm 3 in the following lemma. LEMMA 2. (Postcondition of Alg. 3) In Algorithm 3, if the precondition holds, then after the execution, the followings hold. (1) Each primary node u P locally has the following information: (i) all neighbors of u in J, (ii) its own colors C 12 (u) and C 37 (u), (iii) Δ max and R max, (iv) the knowledge of the connectors corresponding to u, v, C 12 (v), C 37 (v), and rk(u, v), for each neighbor v in J, and (v) the knowledge of lb(z), for each neighbor z in G. (2) Each secondary node w S locally has the following information: (i) all primary nodes within 2 hops in G, (ii) Δ max and R max, (iii) for which pair of nodes (u, v) it

Scott C.-H. Huang et al., Low-Latency Multi-Source Broadcast in Radio Networks, May 15, 2009 9 Algorithm 3 Shared Backbone Construction (Part II: Information Management) Precondition: Same as Alg. 2 (Alg. 2 has been executed as well). Postcondition: The three properties stated in Lemma 2. /* Update topology information */ 20: Each primary node u P saves its local topology information as follows. For each neighbor v in J, u saves the corresponding sole connector or the first-hop/second-hop connector pair. 21: Each secondary node in S locally saves all of its 1-hop or 2-hop primary neighbors as well as whether it is a sole, first-hop, or second-hop connector for any pair of them. /* Update coloring information */ 22: Apply the hexagonal coloring method and obtain the C 12 and C 37 colorings. 23: Each primary node u P locally saves its own colors C 12 (u), C 37 (u). 24: Each secondary node in S locally saves the coloring information C 12 (u), C 37 (u) for each primary node u within 2 hops. /* Update rank information */ 25: for each u P do 26: Sort all neighbors of u in J to form a list L(u) according to their IDs in descending order. 27: Suppose L(u) = {v 1, v 2,...}, in which v 1 is the one with the largest ID. Define the rank function rk(u, v j ) as follows. rk(u, v j ) = def j. u locally saves the rank information rk(u, v) for each neighbor v in J. 28: end for 29: Each node in S locally saves the rank information rk(u, v) for each pair of primary nodes u, v within 2 hops in G. /* Update label information */ 30: Each node z / P locally saves the label information lb(z) and the parent information pr(z). The corresponding primary node pr(z) also saves the information about z and lb(z). def 31: Let Δ max = max u P {z pr(z) = u}. Each primary and secondary node locally saves Δ max. def 32: Let R max = the maximum hop distance in J between any pair of nodes u, v P. Each primary and secondary node locally saves R max. serves as a connector, and whether it serves as the sole, the first-hop, or the secondhop connector, and (iv) C 12 (u), C 37 (u), C 12 (v), C 37 (v), rk(u, v), rk(v, u). (3) Each tertiary node z V P S locally has the information of lb(z) and pr(z). Since the above conditions follow directly from the steps of Algorithm 3 and they are trivial, we omit the proof here. Now we establish an upper bound for the rank function defined in Algorithm 3. This bound is vital in designing Algorithm 5. LEMMA 3. After the execution of Algorithm 3, rk(u, v) 40, u, v P. (Proof.) For any fixed primary node v, its primary neighbors with respect to J are all within 3 hops from v with respect to G. According to Lemma 14 (see the appendix), there can be at most 41 primary nodes in a disk of radius 3. Therefore, within v s neighborhood

10 Scott C.-H. Huang et al., Low-Latency Multi-Source Broadcast in Radio Networks, May 15, 2009 with respect to J, there can be at most 40 primary neighbors (excluding v itself), so we are done. Algorithm 4 Label Finder Precondition: A graph G = (V, E). Alg. 2 has been run. Postcondition: lb(z) and pr(z) will be well-defined for each z V P. 1: Initialize i 1, X 0 P, Z V P 2: while Z = do 3: Initialize W X i 1. 4: for each x X i 1 do 5: if each element in Z is adjacent to at least one element in W {x}, then we remove x from W. 6: end for 7: X i W 8: for each u X i do 9: Find a neighbor z Z of u such that z is not adjacent to any other node in X i. Set lb(z) i, pr(z) u, Z Z {z} 10: end for 11: i i + 1 12: end while We introduce the following two lemmas regarding Algorithm. 4. These two lemmas will also be used in the proof of Lemma 7 regarding the correctness of Algorithm 6. LEMMA 4. If z, z V P such that lb(z) = lb(z ), then z is not adjacent to pr(z ) and z is not adjacent to pr(z). (Proof.) This follows immediately from line 9 of Algorithm 4. Since lb(z) = lb(z ), z and z must be chosen to be in the same X i. Therefore, z cannot be adjacent to any other node in X i, including pr(z ). Similarly, based on the same argument, z cannot be adjacent to any other node in X i, including pr(z). LEMMA 5. lb(z) Δ max, z V P. (Proof.) According to line 5 of Algorithm 4, after the for-loop is finished, each node in x X i must have at least one neighbor that is not adjacent to any other element in X i {x}, since otherwise x would have been removed. Therefore, on line 9 of Algorithm 4, we can always find some node and remove it from Z. Since Z is initialized to V P and in each iteration we keep removing some nodes, eventually Z will be empty. Therefore, each node z V P must be assigned a label lb(z) in the end. We observe that X 0 X 1 X 2... Now, fix z and we assume lb(z) = j, pr(z) = u. Then we know that in iteration j, z is selected along with u. Moreover, u X j. Therefore, one neighbor of u, say z j 1, must be selected in iteration j 1 with lb(z j 1 ) = j 1 and pr(z j 1 ) = u. Similarly, another neighbor z j 2 of u must be selected in iteration j 2 with lb(z j 2 ) = j 2 and pr(z j 2 ) = u. We can find z j 2, z j 3,..., z 1. Since lb(z 1 ) = 1 and z, z j 1, z j 2,..., z 1 are all neighbors of u, obviously lb(z) must be bounded by the degree of u in G. Therefore, lb(z) Δ max.

Scott C.-H. Huang et al., Low-Latency Multi-Source Broadcast in Radio Networks, May 15, 2009 11 4.2 Phase II: Distributed Handshaking In this phase, we introduce Algorithm 5. We state and prove the following lemmas regarding Algorithm 5. LEMMA 6. (Correctness of Alg. 5) In Algorithm 5, if the precondition is satisfied, then the postcondition holds after its execution. (Proof.) According to Fact 1, we know that a hexagon can contain at most one primary node since any two primary nodes are not adjacent to each other and their distance must be greater than 1. According to Fact 2, the distance between any two primary nodes with the same color must be greater than 2. Moreover, according to line 2 of Algorithm 5, primary nodes are all scheduled when T ime T s + 12 and all other nodes are scheduled when T ime > T s + 12, so primary nodes will not cause interference with secondary nodes. Moreover, primary nodes are scheduled according to their colors, so only those with the same color will be scheduled to transmit at the same time. However, since the distance between any two concurrently transmitting primary nodes must be more than 2, collision cannot happen for the following simple argument. Suppose that collision happens at a node x; then x must be adjacent to at least two primary nodes u 1, u 2 that cause this collision. The distance between u 1 and u 2 must be less than 2. It is a contradiction. For this reason, line 2 of Algorithm 5 causes no collision. Now we show that if two primary nodes have the same color, then line 5 of Algorithm 5 will cause no collision either. First, we observe that all first-hop or sole connectors are scheduled when T ime T s + 12 + 37 40 = T s + 1492 and all second-hop connectors are scheduled when T ime > T s + 1492. Thus the first-hop or the sole connectors will never interfere with the second-hop connectors. Second, if w 1, w 2 are first-hop or sole connectors, they will not interfere with each other for the following reason. Suppose that w 1, w 2 are scheduled to transmit in time slots T s + 12 + (C 37 (u 1 ) 1) 40 + rk(u 1, v 1 ), and T s + 12 + (C 37 (u 2 ) 1) 40 + rk(u 2, v 2 ) (for some u 1, u 2, v 1, v 2 P) respectively. If they interfere with each other, then T s + 12 + (C 37 (u 1 ) 1) 40 + rk(u 1, v 1 ) = T s + 12 + (C 37 (u 2 ) 1) 40 + rk(u 2, v 2 ). The only possibility to make this happen is when C 37 (u 1 ) = C 37 (u 2 ) and rk(u 1, v 1 ) = rk(u 2, v 2 ). It immediately follows that the Euclidean distance between u 1 and u 2 is strictly less than 4 and this contradicts to Fact 2. Finally, we show that if u 1 P, then for each primary neighbor v 1 with respect to J, it will receive successfully from the second-hop connector w 1 (second-hop connector for v 1 and u 1 ). Note that we are NOT trying to prove that second-hop connectors do not interfere with each other. We just show that they do not interfere at any targeted primary nodes. In other words, they may be interfering somewhere else, but that does not matter. To prove this, suppose that u 2, v 2 are another pair of primary neighbors in J separated by 3 hops in G, w 2 is the second-hop connector for u 2 and v 2, and w 2 interferes with w 1 at u 1 at some time. According to Alg. 5, w 1 and w 2 are scheduled to transmit at T s + 1492 + (C 12 (u 1 ) 1) 40 + rk(v 1, u 1 ) and T s + 1492 + (C 12 (v 2 ) 1) 40 + rk(v 2, u 2 ). Since T s +1492+(C 12 (u 1 ) 1) 40+rk(v 1, u 1 ) = T s +1492+(C 12 (v 2 ) 1) 40+rk(v 2, u 2 ), we have (C 12 (u 1 ) C 12 (v 2 )) 40 = rk(v 2, u 2 ) rk(v 1, u 1 ). If C 12 (u 1 ) = C 12 (v 2 ), then u 1 and v 2 must be separated by at least distance 2, which contradicts to the assumption that w 2 is adjacent to both of them. If C 12 (u 1 ) = C 12 (v 2 ), then rk(v 2, u 2 ) rk(v 1, u 1 ) > 40, contradicting to Lemma 3. Therefore, we have proved this theorem.

12 Scott C.-H. Huang et al., Low-Latency Multi-Source Broadcast in Radio Networks, May 15, 2009 We present the time complexity of Algorithm 5 as follows. COROLLARY 1. The time complexity of Algorithm 5 is 1972 time slots. Algorithm 5 Distributed Handshaking Algorithm Precondition: Algs. 2 and 3 have been run. Each primary node has a message m u to transmit. All nodes have the same starting time T s. This algorithm is run locally at each node x in the network. Postcondition: Each primary node will receive the message m v collision-free from each neighbor v in J. /* primary to first-hop */ 1: if x P then 2: Schedule x to transmit m x when Time = T s + C 12 (x). /* first-hop to second-hop */ 3: else if x is the sole or first-hop connector for some primary nodes u, v then 4: x waits to receive m u from u until Time = T s + 12. 5: Schedule x to relay m u when Time = T s + 12 + (C 37 (u) 1) 40 + rk(u, v). /* second-hop to primary */ 6: else if x is the second-hop connector for some primary nodes u, v then 7: x waits to receive m u from the first-hop node until Time = T s + 1492. 8: Schedule x to relay m u when Time = T s + 1492 + (C 12 (v) 1) 40 + rk(v, u). 9: else 10: Do nothing. 11: end if 4.3 Multi-Source Broadcast Now we introduce Algorithm 6, the main algorithm of this work. Having constructed the shared backbone, we can carry out multi-source broadcast any time for any source subset. Regarding the correctness of Algorithm 6, we state and prove the following lemma. LEMMA 7. (Correctness of Alg. 6) In Algorithm 6, if the precondition is satisfied, then the postcondition holds after its execution. (Proof.) Obviously, the nodes in U P, U P, and P U will not interfere with each other since the transmissions for nodes in U P are scheduled when Time Δ max, those in U P are scheduled when Δ max < Time Δ max +1972 R max, and those in P U are scheduled when Time > Δ max + 1972 R max. Moreover, we know that the transmissions for nodes within U P will not interfere with each other since those nodes are scheduled according to their labels. According to Lemma 4, interference will not happen. Now we show that the transmissions for nodes within U P will be successful. This is straightforward since those nodes are scheduled according to Algorithm 5 and all transmissions will be successful according to Lemma 6. Finally, the transmissions for nodes within U P will be successful too since they are scheduled according to C 12. Following the same argument as in the proof of Lemma 6, we conclude that all transmissions will be successful. COROLLARY 2. The time complexity of Algorithm 6 is Δ max + 1972 R max + 12 time slots.

Scott C.-H. Huang et al., Low-Latency Multi-Source Broadcast in Radio Networks, May 15, 2009 13 Algorithm 6 Distributed Multi-Source Broadcast Algorithm Precondition: A graph G = (V, E) with a source subset U V is given. Each node s U has a message m s to transmit to the entire network. Algs. 2 and 3 have been run. Starting time is 0. This algorithm is run locally at each node x in the network. Postcondition: Each node in the network will receive m s collision-free for each s U. 1: if x U P then 2: Schedule s to transmit m s to pr(s) at time lb(s). 3: end if 4: if x U P then 5: Wait until Time = Δ max 6: u merges its message m u with all of its received messages, if any, into a packet m u. 7: Append number 1 at the end of the message m u, so the message becomes {m u, 1}. Apply Alg. 5 with this message at Time = Δ max + 1. 8: repeat 9: Keep receiving message(s) from its neighbors. 10: Upon receipt of a message {m, k}, check whether k R max. If yes, relay the message {m, k + 1} when Time Δ max mod 1972 by applying Alg. 5. 11: until Time = Δ max + 1972 R max 12: x merges all of its received messages into a single message and then transmits at Time = Δ max + 1972 R max + C 12 (x). 13: end if 14: if x P U then 15: repeat 16: Keep receiving message(s) from its neighbors. 17: Upon receipt of a message {m, k}, check whether k R max. If yes, relay the message {m, k + 1} when Time Δ max mod 1972 by applying Alg. 5. 18: until Time = Δ max + 1972 R max 19: x merges all of its received messages into a single message and then transmits at Time = Δ max + 1972 R max + C 12 (x). 20: end if 21: 5. 2-SEPARATED MULTI-SOURCE BROADCAST ALGORITHM In this section, we want to show a modified version of Algorithm 6 by constructing a different shared backbone having the 2-separation property (see the postcondition of Lemma 8). This algorithm will significantly reduce the time complexity of the handshaking algorithm (Algorithm 5) and therefore may significantly reduce the multi-source broadcast latency. However, such a property arises at a cost of potentially increasing R max and therefore increasing the broadcast latency. Theoretically speaking, this increase can be large as there can exist a certain topology such that constructing a 2-separated backbone could significantly increase R max. However, according to our simulations, this increase is usually not very large. Therefore, this fact usually leads to a practical multi-source broadcast algorithm with much less time complexity, although it is not theoretically guaranteed. The main algorithm of this section is Algorithm 10. Similarly, in order to present this algorithm clearly, we need to introduce several other algorithms as subroutines.

14 Scott C.-H. Huang et al., Low-Latency Multi-Source Broadcast in Radio Networks, May 15, 2009 Preprocessing Phase I Phase II Alg.1 Alg.4 Part 1 Alg.7 Part 2 Alg.8 Alg.9 2-Separated Multi-Source Broadcast Alg.10 (Main) Fig. 5. Dependence relations of our algorithms in 5 Our multi-source broadcast algorithm is Algorithm 10, and before executing it we need to do preprocessing. The preprocessing stage involves two phases: (I) 2-separated shared backbone construction and (II) 2-separated distributed handshaking. Phase I is carried out in a centralized fashion, but it needs to be done only once and can be performed offline. Since Phase I is a very lengthy algorithm, we break it into Part 1 (Algorithm 7) and Part 2 (Algorithm 8). The core of Phase II is Algorithm 9, which is a fully distributed algorithm. In order to facilitate Phase II, Phase I needs to be undertaken as a precondition. In Algorithm 7, we run Algorithm 1 as a subroutine, so we need to introduce Algorithms 7-9 before presenting Algorithm 10. The dependence relations among these algorithms are shown in Fig. 5. We present the method of constructing a 2-separated shared backbone. The detailed steps are presented in Algorithms 7, and 8. The 2-separated shared backbone H with the auxiliary graph J obtained by running Algorithms 7 and 8 possesses the following properties presented in Lemma 8. LEMMA 8. (Postcondition of Alg. 7) The 2-separated shared backbone H = (V, E H ) and the auxiliary graph J = (V J, E J ), obtained by applying Algorithm 7, have the following properties. (1) No primary nodes are adjacent to each other. Any node in V must either be a primary node itself or be adjacent to some primary node in H. (2) H is a connected, spanning subgraph of G. (3) If (u, v) E J is an edge of J, then u and v must be 2-hop neighbors in G. (4) For any pair of nodes in J, suppose that the hop distances between them in G and in J are denoted by d G and d J, respectively. Then we have d G = 2d J. (Proof.) Property (1) obviously holds for the same reason as in Lemma 1. To prove Property (2), first we observe that all secondary or tertiary nodes must be adjacent to some primary node according to line 11 in Algorithm 7. For this reason, it suffices to prove that

Scott C.-H. Huang et al., Low-Latency Multi-Source Broadcast in Radio Networks, May 15, 2009 15 Algorithm 7 2-Separated Backbone Construction (Part I) Precondition: A connected unit disk graph G = (V, E) Postcondition: This algorithm outputs a subgraph H = (V, E H ) of G and an auxiliary graph J = (V J, E J ) such that Lemma 8 holds. 1: Arbitrarily choose a node g in V. 2: Sort all nodes in V according to its hop-distance to g in increasing order. Let O = (v 1, v 2,...) denote this ordering. 3: Apply Alg. 1 with O to obtain P. 4: S. V J P. E J. 5: for each pair {u, v} P such that u, v are within 2 hops do 6: Look at the nodes adjacent to both u and v. Pick the one with the largest ID and denote it by w 0. We call w 0 the sole connector for u and v. 7: Add w 0 to S. Add (u, w 0 ) and (v, w 0 ) to E H. 8: Add (u, v) to E J. 9: end for 10: Run Alg. 4 to get label and parent information. 11: For each x V P, add (x, pr(x)) to E H. every primary node in H is connected to g (g appears in line 1 in Algorithm 7), since it immediately follows that every node is connected to g and H is connected. We prove this by induction on the hop-distance m to g in G. Obviously when m = 1, there are no primary nodes and the base case holds trivially. Suppose that this property holds for all m = m. Given any primary node u whose hop-distance to g is m + 1, we want to prove that u is connected to g. Since u P and P is obtained by applying Algorithm 1 with the hop-distance ordering O = (v 1, v 2,...), obviously we have g = v 1. Suppose u = g j for some j. Consider the shortest path from g to u. This path must have m + 1 edges, and the node w adjacent to u on this path must be m -hop from g. Let w = v i for some i. Then obviously we get i < j since w must be sorted ahead of u in the ascending ordering O. Now we claim that w must be adjacent to some v k P such that k < i. This is straightforward for the following reason. Assume the contrary; then w is not adjacent to any v k P such that k < i. Therefore w must be included in P according to Algorithm 1. However, w is adjacent to u and u P. We have a contradiction according to Property (1) of this Lemma. Thus, u and v k are 2-hop neighbors, and we have v k P. Since k < i, the hop-distance between v k and g is at most m. According to the induction assumption, v k must be connected to g. It implies that u is connected to g as well. So we are done. Property (3) follows directly from the construction of H and J in lines 7 and 8 of Algorithm 7. Finally we prove Property (4). According to Property (3), each edge in J corresponds to 2 edges in G. Therefore, for any two points u, v J, along their shortest path in J we can replace each edge by 2 edges in G and thus construct a path connecting u and v. Thus, d G = 2d J. LEMMA 9. (Postcondition of Alg. 8) In Algorithm 8, if the precondition holds, then after its execution, the followings hold. (1) Each primary node u P has the information of (i) all neighbors v in J, (ii) its own color C 12 (u), (iii) Δ max and R max, (iv) the corresponding connector, C 12 (v), and

16 Scott C.-H. Huang et al., Low-Latency Multi-Source Broadcast in Radio Networks, May 15, 2009 Algorithm 8 2-Separated Backbone Construction (Part II: Information Management) Precondition: Same as Alg. 7 (Alg. 7 has been executed). Postcondition: The four properties stated in Lemma 8. /* Update topology information */ 12: Each primary node u P saves its local topology information as follows. For each neighbor v in J, u saves the corresponding connector. 13: Each secondary node in S locally saves all of its primary neighbors as well as whether it is a connector for any pair of them. /* Update coloring information */ 14: Apply the hexagonal coloring method and obtain the C 12 coloring. 15: Each primary node u P locally saves its own color C 12 (u). 16: Each secondary node in S locally saves the coloring information C 12 (u) for each primary neighbor u (in G). /* Update rank information */ 17: for each u P do 18: Sort all neighbors of u in J to form a list L(u) according to their IDs in descending order. 19: Suppose L(u) = {v 1, v 2,...}, in which v 1 is the one with the largest ID. Define the rank function rk(u, v j ) as follows. rk(u, v j ) = def j. u locally saves the rank information rk(u, v) for each neighbor v in J. 20: end for 21: Each node in S locally saves the rank information rk(u, v) for all primary nodes u, v within 2 hops in G. /* Update label information */ 22: Each node z / P locally saves the label information lb(z) and the parent information pr(z). The corresponding primary node pr(z) also saves the information about z and lb(z). def 23: Let Δ max = max u P {z pr(z) = u}. Each primary and secondary node locally saves Δ max. def 24: Let R max = the maximum hop distance in J between any pair of nodes u, v P. Each primary and secondary node locally saves R max. rk(u, v) for each neighbor v in J, and (v) lb(z) for each neighbor z in G. (2) Each secondary node w S has the information of (i) all primary neighbors in G, (ii) Δ max and R max, and (iii) C 12 (u), C 12 (v), rk(u, v), rk(v, u), for each pair of primary neighbors u, v such that w is a connector for u, v. (3) Each tertiary node z V P S has the information of lb(z) and pr(z). Since the above conditions follow directly from the steps of Algorithm 8 and they are trivial, we omit the proof. LEMMA 10. After the execution of Algorithm 8, rk(u, v) 20, u, v P. (Proof.) For any fixed primary node v, its primary neighbors with respect to J are all within 2 hops from v with respect to G. According to Lemma 13 (see the appendix), there can be at most 21 primary nodes in a disk of radius 2. Therefore, within v s neighborhood with respect to J, there can be at most 20 primary neighbors (excluding v itself). Hence

Scott C.-H. Huang et al., Low-Latency Multi-Source Broadcast in Radio Networks, May 15, 2009 17 we prove Lemma 10. Algorithm 9 2-Separated Distributed Handshaking Algorithm Precondition: Algs. 7 and 8 have been executed. Each primary node has a message m u to transmit. All nodes have the same starting time T s. This algorithm is run locally at each node x in the network. Postcondition: Each primary node will receive the message m v collision-free from each neighbor v in J. /* primary to connector */ 1: if x P then 2: Schedule x to transmit m x when Time = T s + C 12 (x). /* connector to primary */ 3: else if x is a connector for some primary nodes u, v then 4: x waits to receive m u from u until Time = T s + 12. 5: Schedule x to relay m u when Time = T s + 12 + (C 12 (v) 1) 20 + rk(v, u). 6: else 7: Do nothing. 8: end if LEMMA 11. (Correctness of Alg. 9) In Algorithm 9, if the precondition is satified, then the postcondition holds after its execution. (Proof.) Similar to the proof of Lemma 6, according to line 2 of Algorithm 9, primary nodes are all scheduled before Time = T s + 12 and all other nodes are scheduled after that. Thus, primary nodes will not cause interference with secondary nodes, and primary nodes will not cause interference within themselves either (cf. line 2 of Algorithm 5). Now, we show that if u 1 P, then for each primary neighbor v 1 with respect to J, it will receive successfully from the connector w 1 (the connector for v 1 and u 1 ). To prove this, suppose that u 2, v 2 are another pair of primary neighbors in J, w 2 is the connector for u 2 and v 2, and w 2 interferes with w 1 at u 1 at some time. According to Algorithm 9, w 1 and w 2 are scheduled to transmit at T s + 12 + (C 12 (u 1 ) 1) 20 + rk(v 1, u 1 ) and T s + 12 + (C 12 (v 2 ) 1) 20 + rk(v 2, u 2 ). Since T s + 12 + (C 12 (u 1 ) 1) 20 + rk(v 1, u 1 ) = T s +12+(C 12 (v 2 ) 1) 20+rk(v 2, u 2 ), we have (C 12 (u 1 ) C 12 (v 2 )) 20 = rk(v 2, u 2 ) rk(v 1, u 1 ). If C 12 (u 1 ) = C 12 (v 2 ), then u 1 and v 2 must be separated by at least distance 2, which contradicts to the assumption that w 2 is adjacent to both of them. If C 12 (u 1 ) = C 12 (v 2 ), then rk(v 2, u 2 ) rk(v 1, u 1 ) > 20, contradicting to Lemma 10. Therefore, we have proved this lemma. COROLLARY 3. The time complexity of Algorithm 9 is 252 time slots. LEMMA 12. (Correctness of Alg. 10) In Algorithm 10, if the precondition is satisfied, then the postcondition holds after its execution. COROLLARY 4. The time complexity of Algorithm 10 is Δ max + 252 R max + 12 time slots.

18 Scott C.-H. Huang et al., Low-Latency Multi-Source Broadcast in Radio Networks, May 15, 2009 Algorithm 10 Distributed 2-Separated Multi-Source Broadcast Algorithm Precondition: A graph G = (V, E) with a source subset U V is given. Each node s U has a message m s to transmit to the entire network. Algs. 7 and 8 have been run. Starting time is 0. This algorithm is run locally at each node x in the network. Postcondition: Each node in the network will receive m s collision-free for each s U. 1: if x U P then 2: Schedule s to transmit m s to pr(s) at time lb(s). 3: end if 4: if x U P then 5: Wait until Time = Δ max 6: u merges its message m u with all of its received messages, if any, into a packet m u. 7: Append number 1 at the end of the message m u, so the message becomes {m u, 1}. Apply Alg. 9 with this message at Time = Δ max + 1. 8: repeat 9: Keep receiving message(s) from its neighbors. 10: Upon receipt of a message {m, k}, check whether k R max. If yes, relay the message {m, k + 1} when Time Δ max mod 252 by applying Alg. 9. 11: until Time = Δ max + 252 R max 12: x merges all of its received messages into a single message and transmits at Time = Δ max + 252 R max + C 12 (x). 13: end if 14: if x P U then 15: repeat 16: Keep receiving message(s) from its neighbors. 17: Upon receipt of a message {m, k}, check whether k R max. If yes, relay the message {m, k + 1} when Time Δ max mod 252 by applying Alg. 5. 18: until Time = Δ max + 252 R max 19: x merges all of its received messages into a single message and transmits at Time = Δ max + 252 R max + C 12 (x). 20: end if 6. EXAMPLES In this section, we will give a set of examples that run through all algorithms. We start with an example of Algorithm 2, which invokes Algorithms 1 and 4, followed by a continuing example of Algorithm 3. Based on the corresponding outputs, we can show an example of executing Algorithms 5 and 6. 6.1 An Example of Alg. 2 (which also invokes Algs. 1 & 4) We are given a network represented as a unit disk graph G, shown in Fig. 6(a). Now we show the detailed steps of Algorithm 2 for constructing a shared backbone. First we apply Algorithm 1 with an arbitrary ordering. Here we use the ordering {a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p} to run Algorithm 1, and the output is P = {a, c, e, g} as shown in Fig. 6(b). Now, for every pair of primary nodes 2 hops away, we pick one connector to connect them. There are three pairs of primary nodes that are 2 hops away from each other: (a, c), (c, e), and (e, g), and the corresponding connectors are b, d, and f, respectively. For