Multiround Message Scheduling for Fast GNSS Packet Broadcasting

Global navigation satellite systems (GNSSs) may transmit data to provide additional services. Since the resources reserved for these data are typically fixed and the message rate is low, we propose to split long messages into shorter packets and properly schedule their transmission from the entire constellation of satellites. Considering an efficient data transmission (useful for example for search and rescue messages), we aim at the scheduling of packets on the satellites on multiple rounds with two objectives: 1) the minimization of the maximum latency among all receivers or 2) the maximization of the average received packets per round. We first derive bounds on the performance of any GNSS single or multiround scheduling solution, on which the proposed scheduling solutions are based. Then, we introduce the scheduling problems that turn out to be integer linear programming problems. Lastly, we assess their performance, showing that our solution minimizes the maximum latency, while the scheduling targeting the average latency outperforms existing literature solutions.


I. INTRODUCTION
Global navigation satellite systems (GNSSs) transmit signals enabling the estimation of position velocity and time by receivers.Additionally, they also periodically broadcast data messages carrying useful information for navigation, such as ephemeris and almanacs.Recently, studies have been conducted to support new services, such as authentication data, search-and-rescue (SAR), and short messaging [1], [2], [3]: These solutions require as well the broadcast of further data messages.Such data transmissions are particularly useful in remote areas, where other communication services or side channels are not available.In this case, hybrid satellite-internet solutions such as those provided by the high-accuracy service (HAS) [4] cannot be adopted.
We focus on the transmission of messages, such as SAR messages or short messages, and we aim at minimizing the time by which a message is received by a device on the ground, in the following denoted as latency.Since GNSSs are characterized by low data rates (in the order of a few hundred bit/s, e.g., 50 b/s for GPS L1 C/A [5,Ch. 4] and blue 125 bit/s for Galileo E1B [6]), latency becomes significant, especially for long messages.To overcome this issue, we must exploit the specific broadcast nature of the satellite signal and the availability of multiple satellites in view from ground receivers.
Conventional beamforming techniques of multipleinput-multiple-output (MIMO) systems cannot be applied in this context: Although the transmission from multiple satellites to a single receive antenna can be modeled as a MIMO channel, it is not possible to ensure a synchronous reception of the signal in all possible positions of the receiver, due to the distance among the transmit antennas of different satellites.Moreover, the satellite orbits modify their visibility by the receiver, further preventing coordination among satellites at the symbol level.
The problem of latency minimization for broadcasting services has been studied in different contexts, e.g., wireless sensor networks [7] and cognitive radio networks [8].Still, our scenario has the following significant differences, namely: 1) no feedback channel is available from the receiver to the transmitter; 2) the bipartite graph modeling the network is not complete, since only a subset of satellites is in view of each receiver; and 3) the position of transmitters and receivers is periodically changing over time, hence the scheduling solution will be time-variant and periodic.Thus, we must develop solutions specifically targeted to the GNSS context.
In this context, the typical solution is the carousel scheduling strategy [9], where each different packet is scheduled sequentially in time.This solution is currently used for disseminating the almanacs, used to aid the receiver's signal acquisition phase.With the carousel strategy, only the almanacs for two space vehicles (SVs) are retrieved within each subframe (i.e., 30 s) [6].
Still, at packet level, the diversity provided by multiple satellites can be exploited.Indeed, by splitting the message into several packets and transmitting them via different satellites and specific spreading code, ground receivers can collect the packets and obtain the entire message.For Galileo open service navigation message authentication (OS-NMA), the subset of satellites distributing the authentication data dynamically changes, and no user knows in advance which satellite is actually transmitting the message [10].Still, a message splitting approach has been proposed for OS-NMA in [11] and [12].In this context, the use of random fountain codes has been proposed [13] to increase the reliability of the packet dissemination.No further link-level solution has been proposed for OS-NMA yet.A fountain code-based solution was also proposed in [9] and compared to the carousel strategy used for dissemination of the integrity navigation message (I/NAV) messages in Galileo [6].
In this scenario, a key issue is the scheduling of packets on the different satellites which can be performed in advance according to a deterministic rule.In fact, the positions of the SVs at any instant are easily predictable and the set of satellites in view from any point on the surface of the Earth can be consistently determined.By assigning a specific packet to be broadcast by each satellite, we can determine the ground position where it will be reliably received.Yet, only a few studies are available on this topic, in the literature.Message allocation strategies are proposed for HAS in [14] and [15], taking into account the satellite positions but not the actual receivers' visibility.Moreover, in those works, the authors focus on the dissemination of a fixed number of packets (10), while we consider a more general scheduling problem.
Defined coverage as the fraction of area from which they receive the whole message, in [16] the authors proposed a solution to maximize the coverage for fast message transmission, i.e., the fraction of receivers that can obtain all the packets and reconstruct the message at once.However, it was shown that no scheduling strategy could achieve full coverage and reliable reception for four packets at the same time with the Galileo system, therefore this solution is only effective for short messages.Here, we focus instead on solutions for multiround scheduling, targeting longer message scenarios.
In this article, we propose a scheduling of packets over both the satellites and the time, for fast message transmission to overcome the limitations of existing solutions.Then, the packets can also be retransmitted several times by the satellites until they are reliably received over Earth.We denote as round the time used for the transmission of a single packet and consider that the transmission of the entire message spans several rounds.The scheduling of packets on the satellites among multiple rounds can be performed with the following two alternative objectives: 1) the minimization of the maximum latency among all receivers or 2) the maximization of the average received packets per round.In the first case, we consider latency as the key metric and aim at minimizing it for the receiver in the worst conditions.With the latter objective instead, we aim at maximizing the data rate.A third objective is a variation of 2), where we also aim at maximizing the coverage at each round.
We first establish bounds on both the average number of different received packets and the maximum latency, under the maximum-diversity scenario, wherein each receiver obtains a different packet from each satellite in view.Then, we leverage the bounds to derive scheduling algorithms.We show that under slow variations of visibility conditions across rounds, the scheduling problem minimizing the maximum latency can be split into separate scheduling problems for each round.A single round scheduling is then formulated as a binary integer linear programming (BILP) problem.We also consider the problem of maximizing the average received packets per round, for which we first quantize the coverage area and then obtain a BILP problem.Numerical results show the validity of our solution and the improvement with respect to the solution in [16], obtaining reduced average and maximum latency.
The rest of this article is organized as follows.In Section II we introduce the system model and the metrics used for GNSS message transmission.Section III states the optimal bounds for average, maximum latency, and maximum average received packets analyzing the maximum diversity scenario.In Section IV we propose solutions for the minimum maximum latency problem and the maximum average number of different received packets.Section V collects the numerical results of the performance of the proposed algorithms.Finally, Section VI concludes this article.

II. SYSTEM MODEL
We consider a scenario where a set S = {1, . . ., M} of M GNSS satellites aim at transmitting a message p.The message is split into K packets of equal size, (p 1 , . . ., p K ).All the packets are needed to reconstruct p, i.e., no form of packet coding is considered.Time is divided into rounds, each of duration T , in which each satellite transmits one packet.The transmission of p may last multiple rounds.Each packet is in general transmitted by multiple satellites over multiple rounds to reach all ground receivers.
Message p is to be received by ground receivers over a region A: Let α s,n (x) be the elevation angle of the satellite s ∈ S at round n with respect to position x ∈ A; then, we will consider satellite s as visible (i.e., its signal can be correctly received in x) if α s,n (x) ≥ α min , where α min is a threshold typically fixed by the receivers.Typical values for α min are in the range [5  Indeed, by picking a large α min , we are potentially discarding useful satellites.However, signals coming from low-elevation satellites are subject to atmospheric and multipath distortion, or possibly even blocked by nearby obstacles [5, §7], hence these signals can typically be discarded a priori without degrading the performance of the receiver.We introduce the satellite visibility maps as indicating that satellite s is visible by a receiver in x during round n if v s,n (x) = 1.Notice that we choose a value constant for ease of reading.This model may be modified by considering a different masking elevation angle for each position, α min (x), which models a map with a receiver placed in an open sky condition or in an urban scenario, etc.We consider that the relative positions of satellites and receivers change over the rounds: However, since T is much smaller than the orbital period of the satellites, we assume the satellite position to be static within each round.We make the following assumptions for each GNSS receiver.
1) Has a buffer with size at least equal to the length of p, to store all the received packets.2) Receives without error the packet transmitted from any visible satellite, i.e., we assume perfect errorcorrecting coding.3) Can decode all the packets sent by all satellites in view at the same time without interference degradation; this is typically achieved by transmitting messages in a code division multiple access fashion and using a different code for each satellite.
During round n, satellites and ground receivers perform the following operations.1) Satellite s ∈ S obtains packet π s,n ∈ {1, . . ., K} from the ground segment; the choice of π s,n is the true subject of the scheduling discussed in the next section.2) Satellite s transmits packet π s,n .
3) Each receiver in a position x such that v s,n (x) = 1 decodes the packet.4) If the receiver has already obtained packet π s,n during previous rounds or from another satellite, it discards the packet, otherwise it stores the packet in its buffer.5) Once the receiver has collected all the K packets, it reconstructs message p and waits for a new message.
Note that the proposed protocol is compatible with any channel code mechanism, e.g., the fountain codes used, for instance, in [1], [9], and [14].Moreover, our solution can also be applied without channel coding.Indeed, our solution is compatible with any existing GNSS standard.
Additionally, we remark that unlike other proposed protocols, such as [14] and [15], ours are more general and make no particular assumption on the number of packets to be disseminated, the region to be covered, or the SVs' position: Thus, we could use this scheme to schedule a message either over a specific region A (e.g., Europe) or using only a limited subset of the satellites, instead of the whole set S, e.g., by scheduling different messages to different subsets of satellites.

A. Performance Metrics
The transmission scheduling at round n is defined by a partition of S, S n = (S 1,n , . . ., S K,n ), where S k,n is the set of satellites transmitting packet k at round n.The transmission scheduling from round 1 to n is P n = (S 1 , . . ., S n ).In general, we aim at finding a scheduling strategy that allows the receivers in A to recover p in a short time.We now introduce the following three specific metrics that will be used to design the scheduling algorithms: 1) the average number of different received packets; 2) the maximum latency; and 3) the average latency.

1) Average Number of Received Packets:
The first metric is related to the number of different received packets in a given time and in a given area, thus it merges coverage and throughput performance.By introducing the availability of packet k at position x by round n u k,n (P n , x) we count the total number of different received packets at position x up to round n, as This indicates the amount of data received as more rounds are carried out in a given position.Lastly, by averaging the above quantity over the area A, we obtain the average number of different received packets in A up to round n is This metric is related to the coverage up to the current frame.Note, however that a high value of ηn (P n ) does not ensure that all points in the area have received the same number of packets.
2) Maximum Latency: The second metric is referred to as the latency, i.e., the number of rounds necessary for a receiver to obtain all the K packets and reconstruct p. First, we define the latency for a receiver in position x as where P = (S 1 , S 2 , . ..) is the scheduling sequence at all rounds.The maximum latency is defined as the maximum latency among all receivers in the area A, i.e., The latency is a relevant metric for several applications, in particular in automation, including self-driving cars or unmanned aerial vehicles.Minimizing the maximum latency means to keep under control the latency in the worst-case scenario, which is a suitable criterion for time-critical applications.Still, considering the maximum latency may be significantly penalizing for the average number of different received packets.Therefore, we also consider another metric related to the latency.
3) A Verage Latency: The third metric is the average latency for all receivers in area A, obtained by integrating (5) over A, as On one hand, keeping the average latency under control does not guarantee good performance in the worst-case, but only on average.On the other hand, this milder metric may allow better performance in terms of average received packets, as it will be shown in the following.

III. PERFORMANCE BOUNDS
In this section, we obtain bounds on the average number of different received packets, coverage, and latency.We will also exploit these results to prove the optimality of one of the proposed scheduling algorithms and develop the solution described in Section IV-C.Finally, these will be also used as either upper or lower bounds to evaluate the proposed algorithms' performance.
The first bound relates the average number of different received packets to the coverage of the area and the total number of different received packets, i.e., the coverage and the throughput, as already mentioned when introducing the metric.About the coverage, from the availability of packet k at position x by round n, u k,n (P n , x), we obtain the availability of the entire message at position x by round n as ûn (P n , x) This denotes the receivers that at round n were able to actually receive all the K packets.Next, we can formally introduce the (fractional) coverage of A by round n by integrating the availability of the message over the coverage area A, as All the above expressions always counted just the different packets: In the next, we will consider instead the total number of received packets.About the average number of received packets, we define the total number of received packets (possibly with repetitions) at position x up to round n as (10) and its average over A, i.e., the number of received packets per area, as We can now formulate the following proposition given upper and lower bounds to the average number of received packets.
PROPOSITION 1 The average number of different received packets is bounded as PROOF We start proving the left hand side: Given the sequence of partitions P n such that ūn (P n ) = β, at least a fraction β of the receivers obtained all the K packets at the end of the nth round, therefore the average number of delivered packets is at least K β, i.e., ηn (P n ) ≥ K ūn (P n ).
For the right hand side, we can write then by averaging both sides of (13) over A and considering that η n (P n , x) ≤ K, we obtain (12).
From this bound we observe that a solution P n achieving full coverage also maximizes the average number of different received packets, with ηn (P n ) = K; on the other hand, among the sequences P n that achieve the same partial coverage, some may obtain a higher average number of different received packets.This result will be used for the development of the scheduling algorithm in Section IV-C.

A. Maximum Diversity Scenario
We also derive bounds on the maximum and average latency.In this case, we focus on a particular scenario, that we denote as maximum diversity scenario, characterized by the fact that each receiver obtains a different packet from each satellite in view.This is clearly a very favorable condition, not always met in practice, since in each round the receiver obtains the maximum number of packets, for a given set of satellites in view.Thus, we will obtain bounds on the performance associated with a best-case scenario.In formulas, the maximum diversity scenario can be alternatively described by indicating that the message is received once K satellites have been in view, and thus C n (x) = K packets have been received.In terms of the availability of the entire message at position x by round n we have or alternatively, the total number of different received packets at position x up to round n is Note that in both û * n (x) and η * n (x) we omitted the indication of the scheduling P n , as we are considering an ideal scenario which may not be feasible, i.e., for which no scheduling allows to achieve such performance.
However, this ideal scenario will provide bounds on the latency metrics.In particular, by averaging over the area, we obtain upper bounds on the average number of different received packets η * n and the coverage ū * n .These values are upper bounds for the performance achieved in any scenario, i.e., we always have The latency in the maximum diversity scenario for the receiver in position x is from which we obtain correspondingly τ * max , τ * .These values are bounds for the performance achieved with any scheduling solution, i.e., we always have IV. SCHEDULING SOLUTIONS In this section, we propose scheduling algorithms for the considered multiround multipacket transmission problem.We first aim at minimizing the maximum latency τ max (P ) and propose a solution that is optimal under a suitable condition on C n (x), the total number of received packets up to round n.Then, we observe that the minimization of the maximum latency (MIN-MAX) algorithm neither minimizes the average latency nor maximizes the throughput.Still, to optimize these two metrics, we should jointly schedule transmission at all rounds, as from ( 7) and ( 27).This leads to an extremely complex solution.In summary, we propose the following three heuristic approaches: 1) minimizing the maximum latency, which however does not minimize the average latency; 2) maximizing the average received packets per round; and 3) maximizing the coverage as the primary objective and the average received packets per round as a secondary objective.

A. Minimization of the Maximum Latency
We now consider the problem of finding a scheduling P that minimizes the maximum latency among all the receivers, i.e., First, we observe that the problem ( 19) is equivalent to the cascade of several problems, one for each round as shown by the following proposition and can be solved accordingly.
The MIN-MAX problem is equivalent to maximizing the number of packets that can be transmitted in a single round with full coverage.
We report the proof in the Appendix.Condition (20) essentially states the equivalence between the minima of the sum, i.e., C min,n , and the sum of the minima.This condition can easily be met in this context since if the round duration T is small enough, the visibility map v s,m (x) does not exhibit dramatic changes between rounds, hence, with high probability, min x∈A s∈S v s,m (x) stays constant for a few rounds.This allows requirement (20) to be met.We will confirm the optimality of this approach in Section V, showing that min x∈A s∈S v s,m (x) = 4 for most rounds.
Hence, we propose the following algorithm.Let K n be the number of different packets transmitted at round n and not transmitted in previous rounds, so that n K n = K.Then, K n is chosen as the maximum number of packets that can be transmitted in a single round with full coverage.
Input:K, A To this end, we iteratively increase K n starting from K = 1 and resort to the BILP algorithm of [16] to compute the corresponding coverage γ , until we reach full coverage.The resulting solution is reported in Algorithm 1, where K = K − n K n represents the number of packets left to be transmitted.
In the algorithm we exploit the following functions: comp_visibility_maps: computes the satellite positions at round n and outputs the visibility maps, v s,n (x); solve_max_cov: implements the (single round) coverage optimization [16], which we have shown to be effective for small K values.
Algorithm 1 follows a divide-and-conquer approach.If the algorithm is iterated for n rounds, the overall computational cost is n times the cost of the single round scheduling solution, which from [16] is exponential in the size |A| and the number of packets to be transmitted, K n ≤ C min,n .However, since C min,n is typically small (C min,n ≈ 4), in practice we expect the algorithm to converge quickly.
We now observe that the MIN-MAX algorithm neither minimizes the average latency nor maximizes the throughput.Still, to optimize these two metrics, we should jointly schedule transmissions at all rounds, as from ( 7) and ( 27), yielding a high-complexity solution.Then, in the following we consider two other suboptimal approaches.

B. MRP
We now consider the problem of maximizing the average number of different received packets ηn (P n ) at each round n, i.e., given P n−1 , the sequence of partitions up to round n − 1, we aim at solving the optimization problem max Note that P n−1 = (S 1 , . . ., S n−1 ).First, we convert the integrals over the area (for the average number of different received packets) into sums over a discrete set of points ⊂ A, following the approach of [16].We consider the corresponding tessellation Algorithm 2: MRP. and Ideally, all the points of the same tile have the same satellites in view, i.e., it should hold v s,n (x) = v s,n (x) ∀s ∈ S ∀x ∈ A for each tile A(x).However, this would require to recompute sampling and the tessellation at each round.In order to avoid this issue, we keep fixed.Moreover, each tile has normalized area thus, in this framework, the integrals over A of the performance metrics of Section II-A need to be considered as weighted sums.First, we can formulate the following BILP problem PROBLEM 1 (SINGLE ROUND MAXIMIZATION) Given for all the sampled positions x, 1) the visibility maps v s,n (x); 2) the normalized tile area a(x); 3) he availability of each packet up to round n − 1, u k,n−1 (P n−1 , x) choose the scheduling S n for round n, that maximizes the average number of received packets, ηn ({P n−1 , S n }), and update the availability map u k,n (P n , x).
The mathematical formulation of this problem is reported on Appendix B and can be solved through wellknown approaches, e.g., the mranch and bound technique [18, §9].
Algorithm 2 is the proposed strategy for the Maximization of the Average Number of Different Received Packets (MRP), where marp_max solves (1) and round_eval is a function that takes as input the set of received packets at the end of the previous round, u k,n−1 (P n−1 , x), and outputs the coverage and the set of received packets at the end of round n, u k,n ({P n−1 , S n }, x), by using (2)- (9).
With this approach we iterate at each round the solution of problem (21), thus the overall computational cost is linearly dependent on the solution of ( 21) itself.The solution of the BILP problem using branch and bound has a cost that is exponential in the number of constraints.More in detail, called N s = | | the number of sampling points of the surface A, we have M + KN s constraints.Thus, the computational complexity depends on both the chosen sampling and the number of packets to be transmitted.We now observe there may be several scheduling achieving maximum coverage with different numbers of distinct transmitted packets.Thus, we propose a scheduling algorithm that at each round n, given the set of received packets for each receiver up to the previous round, u k,n−1 (P n−1 , x), first maximizes the coverage ūn (P n ) and then maximizes the average number of different received packets ηn (P n ), among all the scheduling solutions that achieve coverage.In formulas, at round n, considering the sequence of partitions up to round n − 1 as fixed, we have to solve max This is the cascade of two maximization problems.Thus, following the approach of the previous section, we formulate both optimizations as BILP problems to be iteratively solved, as for Problem 1. PROBLEM 2 (SINGLE ROUND COVERAGE MAXIMIZA-TION) Given the same inputs of Problem 1, choose the scheduling S n for round n, that maximizes the coverage function ūn ({P n−1 , S n }).

PROBLEM 3 (SINGLE ROUND THROUGHPUT MAXIMIZATION WITH MAXIMUM COVERAGE)
Given the same inputs of Problems 1 and 2 and the coverage ūn ({P n , S n }), obtained by the latter, choose the scheduling S n for round n that maximizes the average number of received packets ηn ({P n−1 , S n }) and update the availability map u k,n (P n , x).
The mathematical formulations of these problems are reported on Appendix C. Algorithm 3 iteratively solves (25), by using the following functions: compute_uBound computes the upper bound η * n , by using (16); solve_max_cov and mrp_mc_max are respectively the optimization of the BILP Problems 2 and 3; is_feasible computes the upper bound of ( 16) verifying if it is possible to achieve a solution with nonnull coverage (i.e., ū * n > 0).Note that if C n (x) < K ∀x ∈ A, i.e., all the receivers obtained less than K packets, ( 14) yields ū * n = 0, thus all the scheduling solutions will achieve zero coverage.So, we can skip the coverage maximization step, saving computational power in the early rounds, where we noticed that the computations typically take longer.

end if end while
Concerning the computational cost, in the worst-case scenario, two optimizations per round are performed, each of them involving the solution of an nondeterministic polynomial (NP) problem.As for the MRP, the cost exponentially increases with the number of constraints: For the maximum coverage we have M + N s (K + 1) with N s = | |, while for the maximum coverage, we get M + N s (K + 1) + 1 constraints.

D. Computational Complexity of the Proposed Solutions
Table I summarizes the complexity of the proposed scheduling solutions.All the problems are formulated by using integer linear programming, therefore these are NPcomplete problems with an exponential computational cost, depending on the high number of involved variables and constraints [19].First, the MIN-MAX requires the solutions of n problems, to be solved sequentially; each problem deals with the scheduling of K min ≤ K messages, thus it has M + K min N s constraints.The MRP combines n problems, each with M + KNs constraints.The MRP among maximum coverage solutions (MRP-MC) requires the solution of two problems per round, the first with M + KN s constraints and the second with M + (K + 1)N s + 1 constraints.Hence, since the cost of the second is (exponentially) higher than the first, the computational cost is O(n exp(M + (K + 1)N s + 1)).Finally, we consider the optimal solution that computes the scheduling by considering all n the rounds altogether.For instance considering Algorithm 2, we can modify it to consider multiple rounds all at once.Hence, the variables (and constraints) in the MRP solution are now multiplied by n, i.e., exp(nM + nKN s ) constraints.Indeed, for nontrivial values of K or N s , such a solution is not computationally feasible.

V. NUMERICAL RESULTS
Let S 0 be the Galileo GNSS constellation with 24 medium Earth orbit satellites distributed over three orbital planes with spherical orbits.For a more realistic simulation, we did not consider the whole set S 0 set but only S ⊂ S 0 , the subset of satellites that are connected to one of the uplink station (ULS), as done in [1], [14], [15], and [20].For Galileo, the ULSs are located in Svalbard (78.2 • N, 15.4 • E), Kourou (5.2 • N, 52.7 • W), Papeete (17.5 • S, 149.4 • W), Sainte-Marie, Réunion (20.9 • S, 55.5 • E), and Nouméa (21.9 • S, 166.0 • E).In particular, we consider the four SVs that are the closest to each of the five ULSs, hence S contains 20 SVs.
To build the visibility map (1), we consider a masking elevation angle α min = 10 • .Fig. 1 illustrates the resulting tessellation and the dissemination procedure.Note that, to guarantee at least four satellites in view globally, a full GNSS constellation allows many more satellites in view in average, as shown later in the results (e.g., Fig. 3).
We let A be the whole (spherical) Earth surface, and the sample set is obtained by uniformly sampling the latitude and longitude axis, respectively, with N λ = 24 and N ϕ = 48.We use the same tessellation for all the rounds.For Fig. 2. Maximum latency max t τ max for the carousel, random, MIN-MAX, MRP, MRP-MC, and scheduling algorithms.The bound on the maximum latency obtained from ( 18) is also shown.The orbital period of a Galileo satellite is T orb = 14 h and 4 min are distributed in three orbital plans and equally spaced.For the numerical simulation, we consider a fast message transmission that starts every 10 min and spans a time interval of ≈ T orb .Indeed, a finer time resolution does not yield significant changes in the visibility map (1).The duration of a round is T = 30 s, equal to the duration of a Galileo subframe [6] or a GPS frame [21].Of course, a much finer time granularity may be needed in more dynamic contexts, such as when scheduling the transmission for a low Earth orbit satellite system.
In the following, we will report the performance results of the MIN-MAX scheduling algorithm, the MRP scheduling algorithm, and the MRP-MC scheduling algorithm.Additionally, as means of comparison, we will consider both the random scheduling solution, described also in [16], and the (pure) carousel strategy, where all the SVs transmit the same packet sequentially.Indeed, this strategy yields τ = τ max = τ (x) = K rounds ∀x ∈ .
A. Maximum Latency Fig. 2 shows the maximum latency max t τ max , maximized over a time period T orb , as a function of the number of packets per message, K, for the MIN-MAX, MRP, MRP-MC, and the random and carousel algorithms.We also show the (maximum of) the maximum latency achieved by bound (18).The MIN-MAX scheduling achieves the best performance for all values of K, while other solutions in general exhibit a higher average maximum latency.Moreover, the MIN-MAX scheduling always reaches the bound max t [τ * max ], computed from the maximum diversity scenario, which suggests the optimality of this approach in the worst-case scenario.As expected the worst performance is achieved by the carousel strategy, followed by the random scheduling solution.

B. Average Received Packets Per Round
Fig. 3 shows the average received packets per round E ( ηn ) as a function of the round index n, for the various scheduling algorithms, focusing on K = 10 and 20 packets, as average and extreme values among the considered values of K. Also in this case, the average is taken with respect to the satellite positions in the T orb interval.We also report the bound on the average received packets per round η * n obtained in Section III.
Clearly, the MRP approach, which has been explicitly developed to maximize this metric, achieves the best results.Still, the MRP-MC that uses η as a secondary metric, achieves just a slightly lower value of ηn .Here, the MIN-MAX scheduling is outperformed by all the others, including the random scheduling: This is because, by using the MIN-MAX and excluding low values of K, we do not transmit all K packets in one round, but just a subset per round (typically four packets).Unlikely the other solutions typically broadcast more packets per round.Moreover, these plots show that, in both cases, most of the packets are actually delivered in the first rounds; during the latter rounds, the effort is to deliver to the receivers that are still missing some of the packets, typically the receivers that have been in low visibility conditions.We did not report the performance of the carousel strategy: This would achieve E ( η) = n, thus obtaining the worst performances among the considered algorithms.
C. Average Latency Fig. 4 shows the average latency E [τ (P] as a function of K, where, as described above, the average is taken with respect to the satellite positions, for the various scheduling approaches.We also report the average of the lower bound on the average latency E [τ * (P )], as from (18).The behavior of the average latency for the MIN-MAX scheduling is due to the fact at each round only four (or five) packets are transmitted (see Fig. 2).For K > 12 all the scheduling strategies diverge from E [τ * (P )]: Still, we remark that the maximum diversity scenario, described in Section III-A is a nonrealistic condition that clearly cannot be met in practice.In this case the MRP and MRP-MC scheduling outperform both the MIN-MAX and the random scheduling, achieving a lower average latency.In particular, the MRP-MC scheduling achieves the lowest average latency as it maximizes the number of receivers that get all the packets at each round.The (pure) carousel strategy achieves by far the worst performance, with E [τ ] = K.

D. Average Throughput
In order to summarize the results, we now introduce the throughput (in packets per round) as Fig. 5 shows the average throughput E [ω(P )] (27) as a function of K, where the average is taken with respect to the positions of the satellites over their periods as described above, for various scheduling approaches.First, we note that the average throughput grows linearly for all the scheduling techniques up to K = 4 since full coverage is always achieved.Interestingly, the highest throughput is achieved by the MRP-MC scheduling K = 7 packets at a time, achieving a throughput ω ≈ 6.05 packets per round.For comparison, the random scheduling solution only delivers (approximately) 3.62 packets per round.
For K > 7 the performance drops: Indeed, by increasing K, the receivers need more rounds to obtain all the packets.A considerable fraction of the receivers has in view less than seven SVs, thus, by having K > 7 we are forcing these receivers to wait for additional rounds.A similar behavior is shown also by the MIN-MAX algorithm: Since we find that the highest K that allows all the receivers to obtain all the packet is (typically) K = 4 packets when using K = 5, the first round is devoted to delivering the first four packets; next, we use an additional round just to transmit the last packet.This also shows that, in general, increasing K does not necessarily increase the actual throughput.

E. Performance in Realistic Scenario
To provide realistic results, we test the proposed algorithms in a condition where we have a nonnull page error rate (PER).We model each channel between an SV s and a receiver in position x as an erasure channel, with a PER q(θ s (x)), where θ s (x) is the satellite elevation angle with respect to the receiver position at round n.The relationship between PER and elevation angle has been derived from [22].Considering the scheduling solution P, the probability of having successfully received packet k within round n is Thus, the probability that the receiver in position x reconstruct the message within round n is the probability of having received all the packets pn ( Finally, we compute the fraction of receivers on A with probability at least 1 − as where 1 is the unit function, that is 1(•) = 1 if and only if the argument is nonnegative.In particular, we pick = 1 • 10 −2 .Fig. 6 shows the period average of the area (30) versus the round index n, choosing K = 5 and K = 15 as examples of low and high values of K, respectively.We considered the MIN-MAX, MRP, MRP-MC, and the random scheduling solutions.The same considerations apply to both plots: Immediately after the first rounds, where the random and the MIN-MAX achieve the best results, the MRP-MC achieve the best results.This is particularly evident for the K = 15 case, where at the 6th round, the MRP-MC obtains E [a n ] ≈ 0.99 while random scheduling achieves only 0.16.We did not report the performance of the carousel strategy: This yields E [a n ] = 1(K ), since the last packet is not transmitted until the Kth round.For both K = 5 and = 15, the carousel is outperformed by both MRP and MRP-MC.

VI. CONCLUSION
In this article, we have proposed a model and several solutions for the multiround message scheduling problem in GNSS.In detail, we defined proper metrics of the problem, i.e., coverage, average number of different received packets, and latency, and we analytically derived general lower and upper-performance bounds.These bound were derived under the maximum diversity conditions, i.e., assuming that there exists a scheduling such that all the receivers obtain a different packet from each satellite in view.
Next, we proposed one solution for the maximum latency minimization that, under conditions easily met in practice, achieves optimality at a reduced computational cost.Simulation results show that the MIN-MAX algorithm achieves the optimal maximum latency and is close to achieving the maximum latency achieved in the maximum diversity scenario.In particular, we were able to find a scheduling solution with a maximum latency of four rounds for scheduling 16 packets, which coincides with the optimal one.
Next, we proposed heuristic solutions for the average latency minimization, the MRP, and the MRP-MC.These achieved interesting performances in terms of average latency and are close to reaching the optimal average latency.The best results are achieved by the MRP-MC algorithm, the improved version of the MRP, where we also maximize the number of receivers obtaining the whole message.In particular, for K = 7, the MRP-MC delivers on average 6.05 packets per round, with an average latency of 1.27 rounds.For comparison, with the same parameters, the random scheduling solution achieves instead an average throughput of 3.62 packets per round and an average latency of 1.91 rounds.
Finally, we evaluate the performance of our scheme in a more realistic scenario, where each channel is modeled as an erasure channel.Still, the best results were achieved by the MRP-MC algorithm: For K = 15 by using the MRP-MC we get that ≈ 99% of the receivers on Earth to obtain the packet with a success probability of 99% in six rounds, versus the 16% of the random scheduling algorithm.
In future works, we will design and develop solutions that minimize the latency also taking into account the PER in the objective function.

APPENDIX A PROOF OF OPTIMALITY OF THE MIN-MAX
To prove Proposition 2 we need the following Proposition.
PROPOSITION 3 If a scheduling sequence P is such that η n (P n , x) ≥ C min,n ∀n and ∀x ∈ A, then it minimizes the maximum latency, achieving the bound (12), i.e., τ max (P n ) = τ * max .PROOF From Proposition 1 we observe that, even in the maximum diversity scenario, û * n = 1 implies C * n (x) = K ∀x ∈ A, therefore also C * min,n = min x∈A C * n (x) = K.Thus, we can write the lower bound to the latency for the receiver in position x as τ * max (x) = T min n : C min,n = K (31) which means that even in the maximum diversity scenario it is possible to deliver K packets to a receiver only if it had at least K satellites in view.Let n * be the minimum number of rounds that satisfies condition (31) for all the receivers on A. Exploiting the hypothesis, after exactly n * rounds by using scheduling P that satisfies the hypothesis, we will have delivered at least C min,n * = K packets to all the receivers.Thus, P is indeed the scheduling that achieves τ max (P n ) = τ * max .Now we can recall Proposition 2 and prove it.PROPOSITION 2 If (20) holds, the proposed MIN-MAX algorithm achieves the optimal latency, i.e., τ max (P n ) = τ * max .PROOF The proposed Algorithm 1 delivers K m packets at round m, where K m is the largest number of packets that can be delivered in round m with full coverage, i.e, K m = min x∈A s∈S v s,m (x).Hence, after n rounds, from (20) we will deliver (32) However, this also satisfies the requirements of Proposition 3, thus the proposed MIN-MAX algorithm achieves optimality.

C.
Maximization of the Average Number of Different Received Packets Among Maximum Coverage Solutions (MRP-MC)

Fig. 1 .
Fig. 1.Pictorial representation with the resulting tessellation and the dissemination process for K = 3.All the satellites but SV 3 are considered to be in view.The receiver is able to retrieve the message since it has in view satellites transmitting K different messages.

Fig. 4 .
Fig. 4. Average latency E [τ (P )] versus K, where the average is taken with respect to the positions of the satellites over their periods, for various scheduling approaches, and the average of the bound on the average latency E [τ * (P )].

Fig. 5 .
Fig. 5. Average throughput E [ω(P )] (27) versus K, where the average is taken with respect to the positions of the satellites over their periods, for various scheduling approaches.

TABLE I
Complexity of the Solutions for the Message Scheduling Problem, Considering n Rounds, M Satellites, K Messages, and an Area Sampling Factor N s Algorithm 3: MRP-MC.Input:K, Output:P