Resolving SINR Queries in a Dynamic Setting

We consider a set of transmitters broadcasting simultaneously on the same frequency under the SINR model. Transmission power may vary from one transmitter to another, and a signal's strength decreases (path loss or path attenuation) by some constant power $\alpha$ of the distance traveled. Roughly, a receiver at a given location can hear a specific transmitter only if the transmitter's signal is stronger than the signal of all other transmitters, combined. An SINR query is to determine whether a receiver at a given location can hear any transmitter, and if yes, which one. An approximate answer to an SINR query is such that one gets a definite yes or definite no, when the ratio between the strongest signal and all other signals combined is well above or well below the reception threshold, while the answer in the intermediate range is allowed to be either yes or no. We describe several compact data structures that support approximate SINR queries in the plane in a dynamic context, i.e., where both queries and updates (insertion or deletion of a transmitter) can be performed efficiently.


Introduction
The Signal to Interference plus Noise Ratio (SINR) model attempts to predict whether a wireless transmission is received successfully, in a setting consisting of multiple simultaneous transmitters in the presence of background noise. Let S = {s 1 , . . . , s n } be a set of n transmitters (points in the plane), and let p i denote the transmission power of s i , for i = 1, . . . , n. Let q be a receiver (a point in the plane). According to the SINR model, q receives s i if and only if where α ≥ 1 and β > 1 are constants, N is a constant representing the background noise, and |ab| is the Euclidean distance between points a and b.
Observe that, since β > 1, q may receive at most one transmitter -the one "closest" to it, namely, the one for which the value pi |qsi| α is maximum, or, equivalently, 1 minimum. Thus, one can partition the plane into n not necessarily connected reception regions R i , one per transmitter in S, plus an additional region R ∅ consisting of all points where none of the transmitters is received. This partition is called the SINR diagram of S [5].
In their seminal paper, Avin et al. [5] studied properties of SINR diagrams, focusing on the uniform power version where p 1 = p 2 = · · · = p n . Their main result is that in this version distinguish between two main variants of the problem -the uniform power version and the non-uniform power one. The preprocessing time in both cases is O(n polylog n), while the update and query time is O(polylog n) for the uniform version, and O( √ n polylog n) for the non-uniform version. Thus, our solution for the dynamic uniform version is comparable to the best known solutions for the static uniform version. For the non-uniform version, however, our solution is the first solution with bounds that depend only on n and ε and not on other parameters of the input, both in the static and dynamic settings.
In addition to the obvious motivation for devising algorithms for approximate SINR queries in a dynamic setting, we mention another important application of our results. Successive Interference Cancellation (SIC) is a technique that enables (in some circumstances) a receiver q to receive a specific transmitter t, even if t cannot be received at q in SINR sense. Informally, our results support SIC; if t's signal is the kth strongest at q, then, through a sequence of O(k) queries and updates, we can determine whether q can decode t's signal from the combined signal; see the discussion in Section 4. In contrast, Avin et al. [4] construct a uniform-power static data structure of size O(ε −1 n 10 ) which enables one to determine in O(log n) time whether t can be received by q using SIC. Their result is not directly comparable to ours, however: They guarantee logarithmic query regardless of the number of transmitters that need to be canceled before t can be heard, and their approximation model is quite different from ours.
We start with a slower but easier to describe solution and then refine it.

Annuli
Let ε > 0. Let q be a receiver and let s ∈ S be the closest transmitter to q. Let s 1 , . . . , s n−1 be the transmitters in S \ {s}, and assume without loss of generality that s 1 is the second closest transmitter to q, among all the transmitters in S. Recall that intrf (q) = We will need the following simple observation.

Query algorithm
Let q be a query point. First, we find s and s 1 , the closest and the second closest transmitters to q, respectively. Next, we divide the transmitters in S \ {s} into two subsets, S c and S f , where S c consists of all transmitters that are 'close' to q and S f consists of all transmitters that are 'far' from q. More precisely, set r = ( 2n ε ) 1/α · |qs 1 |, then S c consists of all the transmitters in S \ {s} whose distance from q is less than r, and S f consists of all the remaining transmitters. We now approximate the contribution of each of these subsets to intrf (q).
The contribution of a transmitter s i in S f to the sum intrf (q) is We denote the annulus centered at q with inner radius r 1 and outer radius r 2 by A q (r 1 , r 2 ). In order to approximate the overall contribution of the transmitters in S c , we partition the annulus A q (|qs 1 |, r) into k semi-open annuli, A 1 , . . . , A k , such that the ratio of the outer to the inner radius of A j is (1 + ε 2 ) 1 α (except for A k whose ratio is at most (1 + ε 2 ) 1 α ); see Figure 1. By semi-open we mean that the inner circle of A j is contained in A j , but the outer circle is not. Now, for each A j , we approximate the contribution of each transmitter where d is the inner radius of A j , that is, we approximate the contribution of s i by moving it to the inner circle of A j . We prove below (Corollary 4) that this yields a (1 + ε 2 )-approximation of the overall contribution of the transmitters in S c to intrf (q). Lemma 3. Let s i ∈ S c and let A = A q (d, d ) be the annulus to which s i belongs. Then, by moving s i to the inner circle of A, one obtains a (1 + ε 2 )-approximation of the contribution of s i to intrf (q).
α . So, the ratio of our approximation to the real contribution of s i is Corollary 4. By doing this for each transmitter in S c , one obtains a (1 + ε 2 )-approximation of the overall contribution of the transmitters in S c to intrf (q).
It remains to show that i ntrf (q), which is the sum of the approximations for S f and for S c , satisfies the requirements, i.e., that intrf (q) ≤ i ntrf (q) ≤ (1 + ε)intrf (q). From the description above it is clear that i ntrf (q) ≥ intrf (q), so we only need to show that i ntrf (q) ≤ (1 + ε)intrf (q). Indeed, where the second inequality is based on Observation 2.

Implementation
We first show that k, the number of annuli into which the annulus A q (|qs 1 |, r) is partitioned, is small; for the proof, see Section A.1 in the appendix.
In the preprocessing stage we compute the following data structures for the set of transmitters S. Dynamic nearest neighbor: A data structure due to Kaplan et al. [11,12] can be used for dynamic 2D nearest-neighbor queries. A set of points in the plane can be maintained dynamically in a linear-size data structure, so as to support insertions, deletions, and nearestneighbor queries. Each insertion takes O(log 3 n) amortized deterministic time, each deletion takes O(log 5 n) amortized deterministic time, and each query takes O(log 2 n) worst-case deterministic time, where n is the size of the set of points at the time the operation is performed; see [11,Theorem 7.6] and also the randomized data structure of Chan [6] with slightly worse (expected) performance.

Dynamic disk range counting:
We start with the construction of Matoušek [13]: In linear space and O(n log n) time one can preprocess a set of n points in R d to support semi-group halfspace range queries in O(n 1−1/d polylog n) time. A point can be deleted in O(log n) amortized time and inserted in O(log 2 n) amortized time. Lifting circles to points in R 3 in the standard manner, we obtain a linear-space, O(n log n) time, O(n 2/3 polylog n) disk range counting query, O(log n) amortized delete, O(log 2 n) amortized insert data structure. We have not attempted to optimize this ingredient, as we replace this infrastructure with a more efficient one in the following section.
Given a query point q, we find s and s 1 (the closest and second closest transmitters) using the data structure for dynamic nearest neighbor; s 1 is found by deleting and reinserting s. Next, we compute the distance r and partition the annulus A q (|qs 1 |, r) into k annuli, as described above. Now, we calculate i ntrf (q) as follows. We first compute the size of the set S f by performing a disk counting query with the circle of radius r centered at q and subtracting the answer from n − 1; we initialize i ntrf (q) to |S f | · ε 2n|qs1| α . Next, for each of the k annuli, we compute the number x of points of S lying in it, as the difference in the numbers of points in the two disks defined by its bounding circles, obtained by counting queries. We then increment i ntrf (q) by x d α , where d is the radius of the inner circle of the current annulus.
An update is performed by updating the two underlying data structures. We omit the detailed performance analysis of this version, as a better data structure is described next.

Polygonal rings
We now present a more efficient solution similar to the previous one, except that we replace the circular annuli by polygonal rings. Set x = (1 + ε 2 ) 1 α , and consider any three circles , and let B i be the regular l-gon inscribed in C i , so that one its vertices lies on the upward vertical ray through q, for i = 1, 2. We now show that C i−1 is contained in B i , for i = 1, 2, and therefore, the polygonal ring defined by B 1 and B 2 is contained in the annulus A q (r 0 , r 2 ). The elementary proofs of the following claims are deferred to the appendix.
Corollary 8. The polygonal ring defined by B 1 and B 2 is contained in an annulus centered at q with radii ratio

Figure 2
The polygonal rings PA 1, . . . , PA m. The ring PA j lies between the circles Cj−1 and Cj+1, for j > 1.

Query algorithm
We highlight the differences with the query algorithm from Section 2.1.1. Recall that we divided the transmitters into two subsets according to whether they were closer or farther than r from the query point q. We adjust the definitions slightly by setting r = |qs 1 |x m/2 , where m is the smallest integer for which |qs 1 |x m/2 ≥ √ xr, and considering a transmitter close to q whenever it lies in the interior of the regular l-gon inscribed in the circle of radius r centered at q, see Figure 2. The set of such transmitters is the new S c ; the remaining transmitters constitute S f . The contribution of s i ∈ S f to the sum intrf (q) is, by Claim 7, Thus the overall contribution of the transmitters in S f is again at most ε 2|qs| α . We now partition A q (|qs 1 |, r ) into m annuli, each with outer-to-inner radius ratio √ x. For each of the m + 1 circles defining these annuli, draw the regular l-gon inscribed in it. Let PA 1 , . . . , PA m be the resulting sequence of polygonal rings, numbered from the innermost outwards, see Figure 2; each ring is semi-open: it includes its inner, but not its outer boundary. By Claim 7, each PA j , j > 1, is contained in the union of two consecutive annuli, which in turn is an annulus of ratio x; S c ∩ PA 1 is contained in the innermost annulus. Also notice that m = O(k), where k is the number of annuli in the circular annulus version, so, by Lemma 5, m = O( 1 ε log n). For each ring PA j , we bound from above the contribution of each s i ∈ S c ∩ PA j by 1/d α , where d is the inner radius of the annulus of ratio x containing PA j . By Lemma 3 and the subsequent corollary, we obtain a (1 + ε 2 )-approximation of the overall contribution of the transmitters in S c to intrf (q); i ntrf (q) is obtained by combining the two estimates, one from S c and one from S f .

Implementation
Each polygonal ring PA j is the union of l isosceles trapezoids; moreover the ith trapezoids of all rings are homothets of each other (refer to Figure 3) and therefore are delimited by lines of exactly three different orientations. In the preprocessing stage we compute the following data structures for the set of transmitters S.

Dynamic trapezoid range counting:
We use l instances of the data structure, one for each family of trapezoids. For the ith family we build a three-level orthogonal range counting structure, one for each of the three edge orientations of the trapezoids in the family. The answer to a trapezoid range counting query is the number of points of S lying in the trapezoid.
A standard three-level orthogonal range counting structure requires O(n log 2 n) space, is constructed in O(n log 2 n) time, and supports O(log 3 n)-time range queries [8]. It can be modified to support insertions and deletions in O(log 3 n) amortized time using the standard partial-rebuilding technique [1,14]. (One can use any of several different optimized variants of these structures [7,15]. For example, He and Munro [9] describe one with linear space and O((log n/ log log n) 2 ) worst-case query and amortized update time; we stay with comparison-based algorithms and do not attempt to optimize the polylogarithmic factors.) Now given a query point q, we find its closest and second closest transmitter using the data structure for dynamic nearest neighbor in O(log 5 n) time, compute the distance r , and construct the (polygonal) rings For each ring PA j we proceed as follows. For each of the l trapezoids ∆ i forming PA j , we perform an orthogonal range counting query in the ith data structure. Let n j be the sum of the l results. Unless j = 1, we add to the value being computed the term n j Resolving SINR Queries in a Dynamic Setting inner circle of the annulus containing PA j ). If j = 1, we simply add the term n 1 1 r α 1 . Finally, we add to the value being computed the term In summary, to implement an SINR query, we need to perform one search for the nearest and second-nearest neighbor, followed by O( l ε log n) = O( 1 ε 3/2 log n) range searches. An update is applied to all the underlying data structures. The following theorem summarizes the main result of this section, while extensions are deferred to the appendix. intrf (q) , where we once again assume for clarity of presentation that there is no background noise, i.e., N = 0. When s is the closest transmitter to q, we will write sinr (q) instead of sinr (q, s).
Fix ε > 0. Again, we wish to approximate sinr (q) by computing i ntrf (q) such that intrf (q) ≤ i ntrf (q) ≤ (1 + ε)intrf (q) and setting s inr (q) = nrg (s,q) i ntrf (q) . As in the uniform case, we start with a more straightforward but less efficient solution and then improve it.

Conical shells
Let q be a receiver and let s ∈ S be the closest transmitter to q according to dist , i.e., the one whose signal strength at q is the highest. Let s 1 , . . . , s n−1 be the transmitters in S \ {s}, and assume without loss of generality that s 1 is the second closest transmitter to q among the transmitters in S. Recall that intrf (q) = n−1 i=1 nrg (s i , q) and that we wish to compute a value i ntrf (q) such that intrf (q) ≤ i ntrf (q) ≤ (1 + ε)intrf (q). We will need the following simple observation.
Query algorithm. Let q be a query point. First, we find s and s 1 , as defined above. Next, we set e 0 = ε 2n nrg (s 1 , q), and divide the transmitters in S \ {s} into two subsets, S c and S f , where S c consists of the transmitters with signal strength at q greater than e 0 , and S f of the remaining ones. We now approximate the overall contribution to intrf of the transmitters in S f and in S c separately and let i ntrf be the sum of the two approximations.
The contribution of a single transmitter s 1 , q), for a total of at most |S f | · ε 2n nrg (s 1 , q) ≤ ε 2 nrg (s 1 , q) over all of S f . We identify the plane containing the transmitters and receivers with the xy-plane in R 3 . Let C q (ρ) denote (the surface of) the vertical cone with apex q whose z-coordinate at t = (t x , t y ) is ρ|qt|, where ρ > 0 is a constant. Let D q (ρ 1 , ρ 2 ), ρ 2 > ρ 1 > 0, be the set of all points in 3-space lying above (i.e., in the interior of) the cone C q (ρ 1 ) and below or on (i.e., not in the interior of) the cone C q (ρ 2 ). Informally, D q (ρ 1 , ρ 2 ) is the region between C q (ρ 1 ) and C q (ρ 2 ); we call it a (conical) shell. Recall that e 0 = ε 2n nrg (s 1 , q). Let e i = (1 + ε 2 )e i−1 , for i = 1, . . . , k − 1, where k − 1 is the largest integer for which e i < nrg (s 1 , q), and set e k = nrg (s 1 , q). We partition the range I = (e 0 , e k ] of signal strengths at q into k sub-ranges, I 1 = (e 0 , e 1 ], I 2 = (e 1 , e 2 ], . . . , I k = (e k−1 , e k ], and count, for each sub-range I j , the number of transmitters whose signal strength at q lies in I j .
Consider a sub-range I j = (e j−1 , e j ]; we want to count the number transmitters whose signal strength at q lies in I j . This occurs whenever e . Thus, we have reduced the problem to the difference of two conical range-counting queries. We raise each of the transmitters s i ∈ S \ {s} to height p 1/α i , and preprocess the resulting set of points for conical range counting queries. If the number of points in the shell corresponding to I j is x j , then we add the term e j x j to our approximation of intrf (q), that is, we approximate the contribution of each transmitter s i whose corresponding point lies in the shell by e j . (This corresponds to vertically projecting the point (s i , p 1/α i ) onto the cone C q (e 1/α j ).) We prove in the appendix (Lemma 13 and Corollary 14) that this yields a (1 + ε 2 )-approximation of the overall contribution of the transmitters in S c to intrf (q). It remains to show that i ntrf (q), which is the sum of the approximations for S f and for S c , satisfies the requirements, i.e., that intrf (q) ≤ i ntrf (q) ≤ (1 + ε)intrf (q). From the description above it is clear that i ntrf (q) ≥ intrf (q), so we only need to establish the upper bound. Indeed, using Observation 10, we conclude that Implementation. A straightforward calculation shows (analogously to Lemma 5) that k, the number of shells into which D q (e We preprocess the set of raised transmitters for cone range reporting/counting queries. Then, given a query point q, we find s and s 1 as follows. Pick a random sample T of √ n log n transmitters and let t 1 ∈ T be the transmitter whose signal strength at q is the strongest. With high probability, the number of transmitters in S that are closer to q than t 1 in terms of signal strength at q is O( √ n), and we perform a range reporting query with the cone C 1 corresponding to t 1 in order to find them. The closest and second-closest points among the reported points are clearly s and s 1 .
As for shell range counting queries, for each such query we issue two cone range counting queries -with the outer cone and the inner cone -and return the difference of the answers.
We omit the analysis of this version, since we describe below a more efficient variant, in which cones are replaced by pyramids.

Pyramidal shells
We now replace the conical shells by pyramidal ones to obtain an improved solution. Set 1 α , and consider any three cones C q (ρ 0 ), C q (ρ 1 ) and C q (ρ 2 ) with apex at q, such that ρ 0 /ρ 1 . That is, P q (ρ i )'s apex is at q, its edges emanating from q are contained in (the surface of) C q (ρ i ), and the cross section of P q (ρ i ) and C q (ρ i ), using any horizontal cutting plane above q, is a regular l-gon and its circumcircle, respectively. The pyramidal shell defined by P q (ρ 2 ) and P q (ρ 1 ) and denoted PS q (ρ 2 , ρ 1 ) is the semi-open region consisting of all points in the interior of P q (ρ 2 ) but not in the interior of P q (ρ 1 ). From Claim 7 and the observation above, it follows that C q (ρ i−1 ) is contained in P q (ρ i ), for i = 1, 2, and therefore, PS q (ρ 2 , ρ 1 ) is contained in D q (ρ 2 , ρ 0 ).

Query algorithm.
We highlight the differences with the conical-shell based approach. First, we find s and s 1 , the closest and the second-closest transmitters to q, respectively, as described in detail below. Previously, the transmitters were divided into two subsets lying close to q and lying far from it, with the threshold e 0 = ε 2n · nrg (s 1 , q). Here, we set e 0 = nrg (s1,q) x m/2 , where m is the smallest integer for which x , and consider a transmitter close to q whenever it lies in the interior of the pyramid P q (e 1 α 0 ), i.e., the pyramid inscribed in C q (e 1 α 0 ). The contribution of a single transmitter s i ∈ S f to the sum intrf (q) is nrg (s i , q) ≤ e 0 = ε 2n · nrg (s 1 , q), for a total of at most ε 2|qs| α , as before. Consider the conical shell D q (e 1 α 0 , nrg (s 1 , q) 1 α ) and partition it into m conical shells, such that the ratio between the parameters of the inner and outer cone of a shell is √ x. For each of the m + 1 cones defining these conical shells, draw its inscribed regular l-pyramid. Let P q (ρ 1 ), ..., P q (ρ m+1 ) be the resulting sequence of pyramids, where P q (ρ 1 ) is the innermost one, and consider the corresponding sequence of m nested pyramidal shells. Notice that m = O(k), where k is the number of cones in the conical shells version, so once again m = O( 1 ε log n). Moreover, each of the pyramidal shells, except for PS q (ρ 2 , ρ 1 ), is contained in the union of two consecutive conical shells, which is a conical shell of ratio x. For PS q (ρ 2 , ρ 1 ), we observe that S c ∩ PS q (ρ 2 , ρ 1 ) is contained in the innermost conical shell.
We assign a transmitter s i to a shell PS q (ρ j+1 , ρ j ) if s i lands in the shell after being raised to height p 1/α i . Now, for each shell PS q (ρ j+1 , ρ j ) and each s i ∈ S c assigned to it, we estimate the contribution of s i from above by 1/ρ α j−1 , i.e., by projecting s i onto the inner cone of the conical shell D q (ρ j+1 , ρ j−1 ) containing PS q (ρ j+1 , ρ j ). By Lemma 13 and the subsequent corollary, we obtain a (1 + ε 2 )-approximation of the overall contribution of the transmitters in S c to intrf (q). Adding our previous estimate for those in S f yields the promised i ntrf (q).

Implementation.
Observe that each regular l-pyramid P q (ρ j ) is the union of l 3-sided wedges, where the ith wedge is defined by two planes of fixed orientation (perpendicular to the xy-plane) and a third plane containing the ith face of the pyramid.
In the preprocessing stage we construct l data structures over the set S, one for each family of wedges, supporting dynamic 3-dimensional 3-sided wedge range counting queries (a restricted form of simplex range counting in three dimensions). Each data structure handles wedges of the same "type"; the orientations of the two vertical bounding planes are fixed, while the orientation of the third plane varies (but remains perpendicular to the vertical plane bisecting the first two). The data structure for the ith family is a three-level search structure, where the first two levels allow us to represent the points of S that lie in the 2-sided wedge formed by the two vertical planes delimiting our 3-sided wedge, as a small collection of canonical subsets. For each canonical subset of the second level of the structure, we raise each of its points s i to height p 1/α i and then project it onto a vertical plane which is parallel to the bisector of the two vertical wedge boundaries. Finally, we construct for the resulting set of points a data structure for two-dimensional halfplane range counting queries. We will also need the corresponding reporting structure, see below.
Using standard tools for dynamic multilevel structures and, for example, Matoušek's data structure for halfplane range counting at the bottom level, we obtain a structure of O(n polylog n) size that supports wedge counting (and reporting) queries in O(n 1/2 polylog n) time and updates in O(polylog n) amortized time. Now, given a pyramidal shell PS q (ρ j+1 , ρ j ), we can count the number of raised points that lie in it as follows. We first perform l queries for the pyramid P q (ρ j+1 ), one in each of the l data structures, to obtain the total number of points that lie in it. We repeat the process for the pyramid P q (ρ j ) and finally subtract the latter number from the former one.
Below we describe how to find s and s 1 , the closest and second-closest points to q, in randomized O( √ n log n) time w.h.p. plus l wedge reporting queries. Once again, an update is performed by modifying the underlying data structures. We summarize the main result of this section. Finding the closest and second-closest transmitters to q. We have assumed that given a query point q, we can find the closest s and second-closest s 1 transmitters to q, efficiently. This section deals with this initial stage. We begin by observing that we do not really need to find s 1 , provided that we can obtain a sufficiently good approximation of nrg 1 = nrg (s 1 , q). Let nrg 1 ∈ R such that nrg 1 ≤ nrg 1 ≤ (1 + δ) nrg 1 , where δ > 0 is a sufficiently small constant. Then, it is easy to modify our query algorithm so that it uses nrg 1 instead of nrg 1 . For simplicity of presentation, we refer in this paragraph to the algorithm using conical shells. Setẽ 0 = ε 2n nrg 1 . A transmitter will be considered close to q if and only if its signal strength at q is greater thanẽ 0 . If s i ∈ S is far from q, then nrg (s i , q) ≤ẽ 0 ≤ ε 2n nrg 1 = ε 2n nrg (s 1 , q), so the overall contribution of the transmitters in S f is bounded by ε 2 nrg (s 1 , q), as before. Next, we partition the range I = (ẽ 0 , (1 + δ) nrg 1 ] into k = O( 1 ε log n) sub-ranges, such that the ratio between the extreme values of a sub-range is at most 1 + ε/2 and proceed exactly as before.
We now describe how to find s. Our algorithm may or may not find s 1 . However, if it does not find s 1 , it returns a transmitter t 1 ∈ S such that nrg (t 1 , q) ≤ nrg (s 1 , q) ≤ (1+δ)nrg (t 1 , q), where δ > 0 is a sufficiently small constant, so we can set nrg 1 = nrg (t 1 , q) and apply the above modified query algorithm.
Pick a random sample T of √ n log n transmitters and let t 1 ∈ T be the transmitter whose signal strength at q is the strongest. This can be done in O( √ n log n) time. With high probability the number of transmitters in S that are closer to q than t 1 , in terms of signal strength at q, is O( √ n). We first lift each transmitter s = (s x , s y ) ∈ S to the pointŝ = (s x , s y , p(s) 1/α ). Draw the cone C 1 corresponding to t 1 , i.e., the cone whose z-coordinate above point s is nrg (t 1 , q) 1/α |qs| = (p(t 1 ) 1/α /|qt 1 |)|qs|. Let l be as above and consider the l-pyramid P 1 inscribed in C 1 . Let C 0 be the cone inscribed in P 1 , so that P 1 lies between C 0 and C 1 . Notice that C 0 is the cone whose z-coordinate above point s is (1 + δ)nrg (t 1 , q) 1/α |qs| (where we set δ = (1 + ε 2 ) 1 2α − 1). Perform a range reporting query with P 1 (i.e., find all lifted points that lie in the interior of P 1 or on P 1 ). Since P 1 is inside C 1 , with high probability the number of points in P 1 is O( √ n). If the resulting set is non-empty, then in randomized O( √ n) time w.h.p. we can find s and also s 1 (provided the number of returned points is greater than 1).
Otherwise, if P 1 is empty, we claim that the answer to the SINR query must be no, i.e., q cannot receive any transmitter. Indeed, in the best scenarioŝ lies on C 0 , where s ∈ S is the closest transmitter to q, and the rest of the O( √ n) transmitters, lifted to 3-space, lie on the cone C 1 . But this will imply that sinr(s) < 1. Indeed nrg (s, q) = (1 + δ) α nrg (t 1 , q) and, for any other of the √ n transmitters s , nrg (s , q) = nrg (t 1 , q), implying sinr(s) < (1 + δ) α / √ n 1. If only one point lies in P 1 , then we use t 1 as an approximation of s 1 as described above.

Successive interference cancellation (SIC)
Fix a receiver location q. SIC is a technique that enables q to receive a specific transmitter t, even when sinr (q, t) < β. More specifically, order the transmitters s 1 , . . . , s n in S by increasing signal strength at q, assume t = s k , and let sinr i (q) denote the SIN ratio for the signal of s i at q, while ignoring transmitters s 1 , . . . , s i−1 . If sinr 1 (q) = sinr (q, s 1 ) ≥ β, q can subtract s 1 's signal from the combined signal. If, in addition, sinr 2 (q) ≥ β, q can also subtract s 2 from the combined signal of the transmitters s 2 , . . . , s n , and so on. If sinr i (q) ≥ β, for i = 1, . . . , k, we say that SIC succeeds for s k at q, in k rounds. We can simulate this process using our data structures for approximate SINR queries via a sequence of k queries and k − 1 deletions, and determine (approximately) whether SIC succeeds for s k at q. Observe that we need t only to terminate the query, while Avin et al. [4] need t to identify the part of the data structure in which to initiate the search; in particular, we can generate all the transmitters accessible via SIC given a location q in polylogarithmic time per transmitter, while they need to consult each of the n parts of the data structure. We obtain the following theorem.
We will need the following inequality: for y ∈ [0, 1] and z ∈ (0, 1], Proof. The assertion holds with equality when y is 0 or 1. The right-hand side is a linear function of y and the left-hand side is a concave function of y.

B Extensions
In this section, we extend our result for the uniform power setting to the more general setting where the ratio between the maximum power and minimum power is bounded by a constant. That is, let p min and p max be the transmission powers of the weakest and strongest transmitters, respectively, and assume, without loss of generality, that p min = 1. Below we show that the bounds obtained for the uniform power setting (i.e., Theorem 9) continue to hold in the more general setting where pmax pmin = p max is bounded by a constant. We first consider an easy case, where the number of distinct transmission powers is at most a constant. In this case, we do not make any assumption on the ratio pmax pmin . Then, we consider the case mentioned above, where the number of different transmission powers is unlimited, but the ratio pmax pmin is bounded by a constant.

B.1 A few powers
Let m be the number of distinct transmission powers, T 1 , . . . , T m be the partition of S into subsets by transmission power, put t i = |T i |, and let p i be the transmission power of the transmitters in T i . For each subset T i , we construct the data structure for uniform-power approximate SINR queries, as in Theorem 9. Now, let q be a receiver. We denote the transmitter of T i that is closest to q by s i , for i = 1, . . . , m. Moreover, assume without loss of generality that p1 |qs1| α ≥ pi |qsi| α , for i = 1, . . . , m. Finally, set intrf i (q) = s∈Ti\{si} 1 |qs| α and intrf Ti (q) = p i · intrf i (q). Then, intrf (q) = intrf T1 (q) + · · · + intrf Tm (q) + p2 |qs2| α + · · · + pm |qsm| α , and our goal is to compute a value i ntrf (q) such that intrf (q) ≤ i ntrf (q) ≤ (1 + ε)intrf (q).

B.1.1 Query algorithm
Perform a uniform-power approximate SINR query with q in each of the m data structures. Let i ntrf i (q) be the value that is computed by the data structure for T i and set i ntrf Ti (q) = p i · i ntrf i (q), for i = 1, . . . , m. Then, intrf Ti (q) ≤ i ntrf Ti (q) ≤ (1 + ε)intrf Ti (q). Finally,