Improved Spread Spectrum Aloha Protocol and Beam-Hopping Approach for Return Channel in Satellite Internet of Things

This paper examines potential performances of the Spread Spectrum-based random access technique and proposes an Improved Spread Spectrum Aloha (ISSA) protocol for the return channel in satellite Internet of Things (IoT) based on the beam-hopping technique. The key design driver and detailed solution of ISSA protocol are presented in this work and it is shown that the proposed protocol achieves high throughput and low collision probability. To match user/traffic distribution, delay requirement and channel condition with beam allocation better, a low-complexity heuristic beam scheduling algorithm and a more effective Maximum-Weighted Clique (MWC) algorithm have been proposed. The heuristic algorithm considers the user/traffic distribution, inter-beam interference, and fairness primarily. However, the MWC algorithm gives considerations not only on above factors, but also on delay requirement and channel condition (path loss and rain attenuation) to maximize system capacity. The beam angle and interference avoidance threshold are proposed to measure the inter-beam interference, and the link propagation loss and rain attenuation are considered meanwhile in the channel condition. In the MWC algorithm, we construct an auxiliary graph to find the maximum-weighted clique and derive the weighting approach to be applied in different application scenarios. The performance evaluation of our ISSA protocol compared with the SSA protocol is presented, which achieves a gain of 16.7%. The simulation of the ISSA protocol combined with round robin, heuristic, and MWC beam scheduling for the return link in beam-hopping satellite IoTs is also provided. The results indicate that the throughput in nonuniform user distribution is much lower than in the uniform case without the beam scheduling algorithm. Through the application of the scheduling algorithm, the throughput performance can approach the uniform distribution. Finally, the degree of user satisfaction with different scheduling approaches is presented, which validates the effectiveness of heuristic and MWC algorithms.


Introduction
There is a growing requirement of terminals for the fixed/mobile broadband satellite Internet and IoT (Internet of Things) market. One huge challenge is that efficient multiple access protocols must be able to cope with a large network size and huge amount of users. It is a real obstacle to future broadband satellite communication systems and satellite IoTs that are characterized by a tremendous amount of users and more dynamic bursty traffic, which require that the system is able to accommodate this characteristic and a large number of users can access the system favorably in a short time.
To deal with the access of a tremendous number of users simultaneously and randomly, it is essential to develop efficient Random Access (RA) protocols. The traditional realize the intra-cluster interference suppression and achieve near-optimal transmission capacity in this article. However, the above methods do not consider the long-term reward, time-varying traffic demand, and channel condition. Otherwise, the conventional algorithms such as genetic algorithm have a long convergence time so that they cannot meet the real-time scheduling. In [14], a dynamic beam pattern and bandwidth allocation scheme based on DRL has been presented to realize flexible scheduling of multidimensional resources, such as time, space, and frequency. They give a cooperative Multi-Agents Deep Reinforcement Learning (MADRL) framework to maximize the throughput and minimize the delay. The authors of [15] explored a new framework in which a DRL-Powered Genetic Algorithm (GA) was used to fully meet dynamic changes in multi-beam satellite communication scenarios. This method shows excellent performance in throughput and fairness with dynamic change of traffic and environment.
Unfortunately, the above approaches are so complicated that the satellite cannot implement them effectively due to its limited computation resource. In addition, these approaches have considered system throughput but no consideration on different condition or service requirements, such as fairness, delay, channel conditions. In reference [16], the authors investigated an optimal beam-hopping policy in different conditions and QoS (Quality of Service) demand, and give a multi-action selection method based on Double-Loop Learning (DLL) to fulfill several targets simultaneously. A maximal User Service Weight Gain (maxUSWG) resource allocation algorithm has been proposed in [17]. The authors defined a user service weight gain to measure the traffic demand and delay sensitivity of each cell, and allocated resources to cells with larger weight gain until the power is exhausted or the number of working beams reaches a certain threshold. The simulation results indicate that this approach can improve QoS and resource utilization effectively.
Reference [18] aimed at the inaccurate positioning problem caused by different signal quality between user and multiple LEO satellites to propose a Flexible Beam-Hopping Control Algorithm (FBHCA) and decompose this problem into three sub-problems. These sub-problems are solved by three approaches or techniques, respectively, and the numerical results indicate that these approaches can improve the positioning precision obviously.
In Reference [19], the authors exploited the time-space-domain flexibility and powerdomain flexibility of Non-Orthogonal Multiple Access (NOMA), and jointly optimized a beam-hopping scheduling, slot assignment of users, and power allocation to satisfy the traffic demand as much as possible.
A mathematical model of the beam illumination problem has been given in [20]. This model employs an interference-based penalty function to avoid precoding and the beam illumination problem has been modeled as a Binary Quadratic Programming (BQP). The Semi-Definition Programming (SDP) approach, and Multiplier Penalty and Majorization-Minimization (MPMM) based method have been provided to search for the local optimum. Finally, a lowcomplexity greedy algorithm has been proposed to minimize the use of precoding.
In future satellite Internet and IoT systems, a massive amount of users will look for access to satellites randomly. Subsequently, the probability that a good deal of users get access to a satellite simultaneously increases significantly and this will deteriorate access capacity greatly for severe collision. In order to prevent this circumstance, a high-efficiency random access protocol that can hold more terminals is needed urgently. Furthermore, the conventional multi-beam satellite communication systems waste a lot of beam and slot resources under nonuniform user/traffic distribution for their wide beams or multiple point beams and provide almost the same coverage to all cells no matter the distribution of users or traffic. Hence, a novel beam coverage mode is needed to provide more fair access opportunity to all users. At the same time, the dynamic change of user and traffic distribution requires a dynamic and flexible beam coverage scheme. The motivation of this paper is finding a random access protocol, combined with effective beam-hopping scheduling to reduce the collision probability and improve the access capacity. A more important matter is finding an efficient method to match the beam-hopping with dynamic user/traffic distribution effectively and accurately.
In this paper, we review the random access protocols and beam-hopping satellite communication, and propose an Improved SSA (ISSA) protocol to improve system capacity. Then, two beam scheduling algorithms have been proposed to deal with the nonuniform and dynamic distribution of users/traffic. The contributions of this paper are detailed as follows.

•
An ISSA random access protocol has been proposed to improve the access capacity. The preamble is introduced in each beam-hopping slot that is used to accommodate the head of users' burst signal. The capacity analysis and numerical simulation are conducted for this protocol and the results indicate that performance of the ISSA protocol outperforms the conventional ones. • Give the mathematical model and analysis of beam scheduling in beam-hopping satellite IoT systems. Firstly, the influencing factors have been analyzed, and a mathematical optimization model based on linear programming has been presented. Secondly, the performance analysis indicates the potential of beam-hopping in satellite IoT systems. • Two novel beam scheduling algorithms have been presented. To deal with the nonuniform user/traffic distribution in beam-hopping satellite systems, a heuristic beam scheduling algorithm with low complexity is given, and Maximum-Weighted Clique (MWC) beam scheduling algorithm is proposed to improve the system capacity further.
Simulation results indicate that the throughput is improved greatly.
The organization of this paper is presented as follows. Section 2 gives the system model and the ISSA protocol design. The mathematical model of beam scheduling and two scheduling algorithms have been proposed in Section 3. Then, the performance analysis of our proposed protocol and beam scheduling algorithm are presented in Section 4. The simulation results are given in Section 5. Section 6 presents some remarks about satellite communications. Finally, Section 7 gives the conclusion of this paper.

System Model and Protocol Design
A system model of general multiple access in beam-hopping satellite communication systems and ISSA protocol design is described in this section.

System Model
The basic system model as shown in Figure 1 is illustrated as a satellite with multibeam reflector antenna or phased array antenna providing IoT access service to the covered Satellite Terminals (STs). To describe the system model conveniently and exactly, several definition are given in the following.
Beam-hopping slot: The minimum time unit of slot allocation and beam hopping. On-board computer allocates each beam-hopping slot to cells and beams change their pointing at the beginning of each beam-hopping slot.
Beam-hopping cycle: The period of beam hopping contains several, dozens or hundreds of beam-hopping slots generally. The on-board computer generates a beam-hopping pattern based on the beam-hopping cycle.
Preamble: It is defined as the chips in the header of each beam-hopping slot as shown in Figure 2. Several beams illuminate a subset of cells in one beam-hopping slot. The subset of cells illuminated in a beam-hopping slot is determined by the beam-hopping pattern, which gives the solution by which the beam illuminates which cell in which slot. In this model, there may be one or several beams that can be used in the same beam-hopping slot. In a beam-hopping cycle, a cell may be illuminated once or many times, or not illuminated even, which is also determined by the beam-hopping pattern. In the preamble time of a beam-hopping slot, STs covered by beams with traffic already arrived try to access the satellite.

Protocol Design
To ensure the delay performance of user traffic, an ISSA protocol is designed to deal with the access of STs to satellite as soon as possible, i.e., STs will transmit a signal to the satellite once the beam arrives.
The number of chips in the preamble may range from dozens to thousands, which is determined by the network scale and performance requirement. A long preamble time makes the system hold more STs in one beam-hopping slot, whereas more time (or slot) resource is wasted. In an optimized system, a trade-off should be achieved between the throughput and resource consumption.
In our designed protocol, STs encoded their data frame using the predetermined Spread Spectrum (SS) codes, and choose the transmitting time dependent on the return link time synchronization algorithm to ensure that the signal received at the satellite is within the preamble time. A satellite will receive a mixed signal combined by all STs' SS signal transmitted in the same beam-hopping slot. Benefiting from the favorable relativity of SS codes, one ST can decode its information correctly as long as no other STs' signal falls into the same or neighboring chip slot and SINR is fulfilled.
The flowchart of the ISSA protocol in beam-hopping satellite communication systems is shown in Figure 3. The whole access process of our protocol is shown as follows.
Step 1: ST gets the beam-hopping pattern and beam arrival time from satellite broadcast information.
Step 2: ST examines if traffic has arrived. If yes, go to the next step. Otherwise, repeat this step.
Step 3: ST encodes the arrived original traffic and forms an encoded data frame.
Step 4: ST generates SS encoded data from the original data frame with a predetermined PN sequence.
Step 5: ST calculates the propagation delay from it to the satellite using the position (or ephemeris) information of the satellite and its own position.
Step 6: ST calculates the transmitting time range [t 0 , t 0 + ∆] using the beam arrival time, propagation delay, and preamble time.
Step 7: ST chooses the transmitting time t during [t 0 , t 0 + ∆] randomly to make sure that the signal reception at the satellite is aligned with chip slots in the preamble.
Step 8: ST waits for the arrival of the beam. If it arrives, go to the next step. Otherwise, keep on waiting.
Step 9: ST transmits a signal at t after the modulation, frequency conversion, and amplification of SS-encoded data.
Step 10: After the signal arrives at the antenna of the satellite, the received signal is amplified, filtered, converted, and demodulated at the satellite.
Step 11: Satellite obtains the encoded data frame of STs through the de-spreadspectrum of the demodulated signal.
Step 12: The original data frame is obtained from de-framing and decoding at the satellite.
ST gets the beam-hopping pattern and beam arrival time.

Start
ST calculates the propagation delay.
ST calculates the transmitting time scope.
ST encodes and shapes data frame.
ST generates SS encoded data.
ST waits for the arrival of beam.
The received signal is amplified, filtered, converted and demodulated at satellite.
Satellite gets the encoded data frame.  The above flowchart contains almost all steps from the generation to reconfiguration of all STs' original data at the satellite. In this flowchart, the signal spectrum of all STs is expanded with a given spread spectrum factor. For one ST signal, the others are considered as interference or noise so that this system is self-interfering. Hence, more STs transmit signals in one beam-hopping slot implying larger interference. Once the number of STs transmitting simultaneously reaches a certain level, no one's information can be recovered at the satellite. Compared with the SSA protocol, ISSA is designed specifically for beamhopping satellite communication systems. In the ISSA protocol, using the differences in receiving time of STs that lay in the preamble of each beam-hopping slot, the satellite receiver is able to extract different STs' signals even if they use the same spread spectrum code. Simultaneously, the ISSA protocol is also applicable to other multiple access scenarios, as long as the receiving time of each user's signal to the receiver is controlled. The SSA protocol uses different spread spectrum codes to distinguish different users, and extracts signals of different users from the mixed signal.

Beam-Hopping Approaches
In beam-hopping satellite communication systems, the coverage area of a satellite is much larger than the terrestrial mobile base station, and different cells contain different number of STs due to the heterogeneity of ST distribution. Generally, three spectrum usage schemes have been used in beam-hopping satellite systems.

•
Full scheme. All beams employ the full frequency band allocated to the satellite, and the beams working in the same slot have to be apart sufficiently from each other to avoid or diminish the co-channel interference. • Reuse scheme. This scheme divides the whole frequency band into several mutually disjoint sub-bands so that different beams are able to use different sub-bands to illuminate adjacent cells simultaneously. • Hybrid scheme. This scheme is a hybrid of the full and reuse schemes. A beam can employ full or sub-bands, and the beams working simultaneously cannot employ the same frequency, even only partially overlap, unless there is sufficient spatial isolation among them.

Signal Model
In multi-beam and beam-hopping satellite communication systems, the spectrum has been reused among different beams to improve spectrum efficiency. However, cochannel interference is a vital problem for spectrum reuse and sufficient isolation must be established between beams with spectral overlap. When the beam j(j ∈ J ) illuminates the cell k(k ∈ K), the satellite return link gain matrix H i = [h k,j |j ∈ J , k ∈ K] from the ST's transmitter to the on-board receiver at slot i is defined as where A = diag{α 1 , α 2 , . . . , α K } gives the channel gain matrix, G t = [g t k,j |j ∈ J , k ∈ K] and G r = diag{g r 1 , g r 2 , . . . , g r J } denote the transmitting and receiving antenna gain matrices, respectively, from cell STs to satellite. h k,j is the channel gain from STs in cell k to satellite using beam j. The beam occupancy condition at slot i is represented by X i = [x k,j |x k,j = 0, 1], and x k,j = 1 indicates that k-th cell is illuminated by beam j; otherwise, x k,j = 0. In order to reduce the complexity, H i (k, j) = 0 if x k,j = 0 is set.
In beam-hopping satellite communication systems, high spectrum utilization achieved through full spectrum reuse results in co-channel interference. When one beam illuminates one cell, the signal to interference plus noise (SINR) is expressed as Equation (2): where p k,j ∈ P i , P i is the transmitting power matrix at slot i and p k,j is the total transmitting power in cell k using beam j, P k,j . B is the beam bandwidth, and N 0 is the noise power spectral density.

Interference Avoiding
In [21], a multi-beam reflector antenna system has been designed to combine beamhopping and size reduction of effectively used spots, which enables the higher-cell-reuse scheme of 12 reduced to 4. This paper demonstrates that implementation of beam-hopping in this case only requires a switching matrix, and if the dual-polarization feeds are used, it is possible to reduce the number of antennas for the reuse scheme from 4 to 2.
At present, the phased array antenna is preferable in beam-hopping satellite communication systems. The phased array antenna changes the shape of the pattern by controlling the feed phase of the radiation unit in the array antenna. Controlling the phase can change the direction of the maximum value of the antenna pattern to achieve the purpose of beam scanning. Compared with the traditional multi-beam antenna, the phased array antenna has great advantages. The main feature is that it can freely control the beam and can flexibly change the direction, width, and shape of the skip beam [22]. The phased array antenna uses electronic methods to achieve non-inertial beam scanning, so it is also called an electronic scanning array. Its beam direction is controllable, the scanning is flexible, and the antenna gain is higher.
The phased array antenna can use a fixed gain attenuator to change the size of the beam in the hardware structure, that is, each array element is connected to a fixed gain attenuator to form a window function sequence. Firstly, the width and center angle of the beam are determined. The linear frequency modulation sequence is used as the weighting vector, and the beam width and center angle are adjusted by changing the parameters of the sequence. The beam coverage can also be controlled by increasing or decreasing the sub-array, and the phase of the weighting vector can be designed to control the beam pointing [23]. The gain of the phased array antenna [24] is shown as follows, where θ is the off-axis angle, J 1 and J 3 represent the first-and third-order Bessel function, respectively, and the peak gain G max is where η is the antenna efficiency, usually 0.6∼0.7, N is the number of phased array elements, θ 3dB refers to the lobe width of the antenna, and Under the condition of limited system resources, phased array beam-hopping technology can well solve the communication problem of small capacity and relatively dispersed geographical location. The different beams generated by the on-board multi-beam phased array payload in the broadband satellite communication access system will cover different regions. Further, the number of users and the traffic demand of users in different regions have spatiotemporal differences. The phased array antenna can control the pointing and shaping of the beam through the agility characteristics, and disperse the services within the multi-beam coverage as evenly as possible into different beams. It can give full play to the advantages of a controllable beam number, variable beam pointing, and beam shaping of the on-board multi-beam phased array payload, and improve the resource utilization of the broadband satellite system. Figure 4 gives an example of cell distribution in a GEO satellite communication system.

Optimization of Beam Scheduling
If all cells are assigned slots equally, the cells containing a large number of STs may be incapable to fulfill all STs' access request. Whereas, the cells containing a few or no active STs may waste the beam and slot resources. In other words, the beams and slots are not tuned with the ST and traffic distribution. The beam-hopping is proposed to resolve this problem. In beam-hopping satellite communication systems, the number of assigned slots to cells in a beam-hopping cycle can be adjusted according to the distribution of STs or traffic. The more STs or traffic in a cell, the more slots are assigned to it in a beam-hopping cycle.
In the current beam-hopping cycle, the on-board processing module will calculate and determinate the beam and slot allocation for the next beam-hopping cycle based on the ST distribution, access request, and traffic characteristics in all cells. The scheduling of beams and slots can be formulated as an optimization of maximum system capacity as follows: where x i,j,k is the illuminated state at slot i, x i,j,k = 1 indicates beam j illuminates cell k at slot i; otherwise, x i,j,k = 1. D k is the number of terminals in cell k. P k is the proportion of STs in cell k to the number of STs in the system. θ c stands for inference avoidance threshold between any two beams' pointing that is denoted by an angle and τ is the minimum number of slots that is allocated to a cell in a beam-hopping cycle. Constraint (7) gives the fairness constraint, which is used to ensure the cells that hold more STs can be allocated more slots. J is the number of beams, and hence, (8) is used to maintain practically available satellite beams. Constraint (9) denotes that the pointing between any two beams is larger than threshold θ c , where θ i,k m ,k n is the pointing angle between beams that illuminate cell k m and k n . The latitude, longitude, and height of satellite and cell center can be transformed into XYZ coordinates in the Earth-Centered Earth-Fixed (ECEF) coordinate system. The beam pointing is the line from satellite to the center of the cell. In the ECEF coordinate system, we can calculate the linear equation of the beam pointing through the XYZ coordinates of satellite and the cell center. Then, the angle between two beam pointings will be calculated. Constraint (10) is the minimum number of slot constraints that are used to ensure STs access the satellite in a beam-hopping cycle. Different circumstances ask for different settings. For instance, in signaling interaction, the beams need to illuminate each cell at least once per set time cycle.

Heuristic Scheduling Algorithm
The above optimization scheduling is an NP-Hard problem. In this section, a heuristic beam scheduling algorithm is presented in consideration of several factors:

•
Distribution of STs or traffic. The cells cover more STs or traffic will be allocated more slots. • Inter-beam interference. The angle between any two beams' pointing with frequency overlap must be larger than the beam width or a setting angle. RT service is sensitive to delay, which is an important criterion. Generally speaking, the target of scheduling strategy is maximizing the throughput for NRT data and minimizing the delay for RT data. • Channel condition. The coverage area of a satellite is large and different cells may characterized as different channel condition for diverse path losses and weather conditions. Better channel conditions bring higher transmission capacity. The cell where the footprint is located has the largest channel capacity under the same condition due to the minimum path loss.
The detailed depiction of the beam scheduling algorithm is presented in Algorithm 1 to maximize the access capacity in satellite IoTs. It is a heuristic algorithm based on the greed method. In this algorithm, a cell is selected randomly from all cells at each iteration and will be examined if the allocated slots to it is over the proportion of its users/traffic in the system. If yes, this cell will not be allocated a new slot in this beam-hopping cycle; or else, it will be allocated. Then, the interference among beams is another criterion to determine whether to allocate this beam and this slot to the cell. Here, the interference threshold θ c is used to make this decision. If the angle of beam pointing between any two selected cells is less than θ c , while with frequency overlap, these two cells will not be allocated beams in the same slot. The above two criteria examine the fairness and interference limitation, respectively. Let K = K. 5: for beam j in J do 6: Let a = 1 7: while (a == 1) do 8: Choose a cell k from K randomly. 9: if the allocated slot proportion for cell k is smaller than P (k) then 10: if the beam that points to cell k is not interfered with other beams then 11: Append {i, j, k} to H. 12: Let T (k) = T (k) + 1.

13:
Let K (k) = 0 or delete k from K . 14: Update the traffic size or required number of slots for cell k according to allocated slot and traffic arrival of cell k.

15:
Let a = 0. 16 Otherwise, additional factors or demands may be considered in the beam scheduling. For example, the beam-hopping is applied in the management and control system, whose satellites need broadcasting signaling information to users through the forward channel. In this way, the forward beams should cover all cells in a fixed time cycle. Likewise, the return beams should do so to receive the users' signaling messages, such as register, entry, leave, resource request, and so on.

Maximum-Weighted Clique Scheduling Algorithm
In the current beam-hopping cycle, the on-board processing module generates several sets for the beam scheduling in the next beam-hopping cycle and calculates the beamhopping pattern based on these sets.
V: the cell/vertex set, contains the cells which need access to the satellite to transmit signaling or service data in the next cycle, denoted as V = {v k } (k ∈ K). W: the weight set is the set of weights for all cells/vertices, denoted as W = {w k } (k ∈ K), which is determined by ST or traffic distribution, delay requirement, and channel condition of cell k. The more STs/traffic in cell k, w k will be larger. Likewise, the cells with RT service and good channel condition will be assigned large weights. There is a certain corresponding relation between w k and v k . Only if v k is in V, the corresponding value of w k is positive. Or else, v k = 0.
Θ: the set of angles among beams is the set of angles between any two beams' pointing (assume these two beams illuminate cells k m and k n , respectively), denoted as Θ = {θ k m ,k n } (k m ∈ K, k n ∈ K and k m = k n ).
In Figure 5, we give the free-space propagation loss against angle of elevation, which is represented as θ e in GEO and LEO satellite communication systems with ka frequency band. It is shown that the propagation loss increases along with the reduction of θ e , especially in GEO satellite communication systems, the gap of propagation loss between maximum and minimal θ e is up to about 8 dB. We calculate rain attenuation in Beijing with f = 30 GHz as shown in Figure 6 according to [25]. A very wide range of rain attenuation from a few dB to over 100 dB is presented in this figure. In other words, the weather changes have a great influence on link equality. Table 1 shows the rain attenuation in Beijing, Shanghai, Sanya, and Chongqing with 99.9% and 99.99% availability.  In the satellite communication system, the coverage area of a satellite is very large. Generally speaking, a satellite can cover a radius of several hundreds kilometers to tens of thousands of kilometers. In such a large coverage area, the weather conditions in different cells may vary greatly, resulting in significant diversity in link equality between satellite and users in different cells. Link quality will affect the link capacity and Quality of Service (QoS). The propagation loss between GEO/LEO satellite and terrestrial users is presented in Figure 5a and Figure 5b, respectively. In addition, rain attenuation in Beijing is also shown in Figure 6. It can be seen that different elevation angles have different propagation losses, especially in LEO communication systems. Similarly, it is shown in Figure 6 that the change of rain attenuation is very large, and the rainfall directly affects the magnitude of rain attenuation. If the weather conditions of cells are very different, then the diversity of link states will be large correspondingly. Therefore, it is necessary to take propagation loss and rain attenuation into consideration in beam scheduling through a novel approach. It is a natural choice to improve the throughput and QoS of the whole system by giving priority or larger weight to the cells with low path loss and rain attenuation. To achieve this, we propose the maximum-weighted clique algorithm with full scheme.
Before designing the maximum-weighted clique, we first introduce an auxiliary graph in which each vertex is assigned a weight. We then show that the beam scheduling problem can be transformed into finding a maximum-weighted clique problem in the auxiliary graph.
We can construct an auxiliary graph G(V, E ) where V = {v k }(k ∈ K), which is defined above. If cell k m and cell k n are not adjacent and θ k m ,k n > θ c , cell k m and cell k n can be illuminated by two different beams in the same beam-hopping slot. In the other words, the edge connecting v k m and v k n must fulfill the following two conditions: • Cells k m and k n are not adjacent. • θ k m ,k n > θ c . In addition, we use a link/edge e {k m ,k n } ∈ E between v k m and v k n to denote this case. For a clique Q = {v k 1 , v k 2 , . . . , v k q } in the graph, any two vertices have been connected by an edge. In addition, the weight of Q is the sum of all vertices' weight in this clique: Maximum-weighted clique (MWC) is the clique with the largest weight sum of all vertices, and is denoted as Q m . Assuming Q is the clique set based on the auxiliary graph G(V, E ), is equivalent to the expected maximum number of users/STs or expected maximum size of traffic or expected maximum gain of the system. In this paper, the maximum gain is used as the measure standard of our beam scheduling. This gain is the scheduled cells' or vertices' weight sum, involves not only throughput but also quality of service. Hence, rational weighting of each vertex is the key problem. As presented above in this paper, distribution of STs or traffic, delay requirement, and channel condition should be considered in the weighting of vertices. The fairness of STs and inter-beam interference will be also considered in the scheduling algorithm.
where α k,1 , α k,2 and α k,3 are the weights of cell k used to represent the importance of user/traffic distribution, delay requirements, and channel conditions. β k,1 is the proportion of user/traffic in cell k to the totality in the system, β k,2 is the service priority related to delay requirements, and β k,3 denotes the comprehensive effect of path loss and rain attenuation. An example of a beam-hopping satellite communication system with nine cells is presented in Figure 7. Assume that two cells can be illuminated simultaneously when they are not adjacent. That is to say, the angle between two beams that illuminate two nonadjacent cells is larger than θ c . In this way, cell 1 can be illuminated simultaneously with three other ones (cell 3, cell 7, and cell 9). However, cell 5 cannot be illuminated at the same time with any other cells.
After constructing the graph model and assigning weights to each vertex in the graph as presented in Figure 8, the beam scheduling problem is then transformed into finding the maximum-weighted clique in such a graph. As shown in Figure 8, several cliques can be found, such as {v 1   Assume that the total number of vertices in G(V, E ) is K. First, arrange all vertices in descending order of their weight. For example, given in Figure 8, vertices in G will be arranged into is the adjacent vertex set of v k that contains all its adjacent vertices.
Let Q k be the clique with the largest weight (Q m ) in the graph, which only contains vertices of S k = {v k , v k+1 , . . . , v K } and let W Q k be the weight of clique Q k . The algorithm starts with k = K and iteratively considers more vertices until all vertices in G are considered, and stops with Q 1 is found.
From Algorithm 2, we can see that there are two cases when vertex v k is searched. If Q k+1 ∪ {v k } is also a clique, then Q k = Q k+1 ∪ {v k } and W Q k = W Q k+1 + w k . Or else, we need to find out a new clique Q k in the subgraph that consists vertices S k = {v k , v k+1 , . . . , v K }. Based on the descending ordering of vertices' weights, the joining of clique vertices starts from the smallest j that v j ∈ S k , where S k is updated by The joining of clique vertices and the update of S k will continue until S k = Ø and the maximum-weighted clique including v k is found. Then, the temporary maximum-weighted clique will be picked up by comparing W Q k+1 and W Q k , and the larger one will be hold. The process will continue until Q 1 is achieved. The details of the maximum-weighted clique algorithm are given in Algorithm 2.
Algorithm 2 Maximum-Weighted Clique Beam Scheduling Algorithm. if {v k } ∪ Q k+1 is also a clique then 12:  In addition, the number of vertices in the found maximum-weighted clique cannot exceed the number of beams in the beam-hopping satellite communication system. In other words, the cardinality of Q m cannot be larger than J. Hence, at the end of the Algorithm 2, the cardinality of the maximum-weighted clique needs to be judged. If the cardinality of it is greater than the number of beams, the first J elements in the maximum-weighted clique are extracted to form the terminal maximum-weighted clique.
The maximum-weighted clique algorithm (Algorithm 2) is used to schedule beams and cells in each beam-hopping slot, which could be used to replace lines 5∼23 of Algorithm 1 but keep the 9-th line to ensure fairness and lines 11∼14 for data storage and update. Otherwise, the weights of vertices should be updated after each scheduling of the beam-hopping cycle according to the remaining business volume, delay requirement, and link status.

Performance Analysis
In a SSA system, co-channel interference from other STs can be approximately equivalent to Gaussian noise even without any power control. We assume SNRs of all ST signals are identical and denoted as γ before they are SSed. Hence, the noise power N 0 can be denoted as follows: Assume that the number of STs in a cell whose signal arrived at the satellite in a beam-hopping slot is T, and the SS factor is η. Then, SINR for an ST is From γ , the modulation-and-encoding set and the required Bit Error Ratio (BER), T max can be achieved, which is the maximum number of STs that can be accessed simultaneously in one beam-hopping slot through the same beam.
In our analysis, we assume Additional Gaussian White Noise (AWGN) and no power unbalance. Assuming a Poisson process for traffic arrival, the number of STs in cell k that prepare to access is T = λ × τ × D k when a beam arrives. In a beam-hopping slot, if T ≤ T max , the satellite may decode some STs' signals. Otherwise, all STs' signals cannot be recovered. In the first instance, if any two STs' signal arrival times are within one chip time, the signals of these two STs will collide and no information can be decoded. To improve the recovery ability, we assume that an ST's information can be recovered only if the time interval between its own arrival time and that of the others are equal to or larger than one chip. In such case, the probability p 0 , which is the probability that a packet is decoded successfully, is denoted as [26] and the throughput expressed in packets per beam-hopping slot is Obviously, the throughput is expressed in bits per second. It is obtained by multiplying S with the number of bits per packet, and divides the results by the time length of a beamhopping slot.

Simulation Results
To verify the effectiveness of our ISSA protocol and beam scheduling algorithm, extensive simulations for performance evaluation are implemented in this section. We give the capacity of the ISSA protocol, and compare it with the SSA protocol. Then, the system throughput simulation that combines ISSA with beam scheduling is conducted, and we compare the throughput and collision probability with round robin in different traffic arrival rates. The throughput is defined as the number of packets recovered successfully at the satellite per beam-hopping slot/cycle and we assume that STs transmit only one packet per beam-hopping slot. The other simulation parameters are shown in Table 2.  Figure 9 depicts BER of our proposed ISSA and SSA protocols. The number of STs which send a packet to the satellite at a beam-hopping slot is 5∼70 in a cell and we assume that the received signals at the satellite from all STs keep the same Eb/N0, which is set as 4 dB, 8 dB, 12 dB, and 16 dB. From this figure, the capacity (the maximum mac loads or the maximum number of ST accesses to the satellite successfully using a beam at one beamhopping slot) with different BERs can be achieved. It shows that as the BER requirement is 10 −7 , the beam can accommodate 18, 30 and 35 STs with Eb/N0 = 8 dB, 12 dB, 16 dB, respectively, using the ISSA protocol. In practice, the capacity may be higher for the above data when the discriminative equivalent isotropically radiated power (EIRP) brings diverse received power. The system can employ the diverse received power to apart information from the mixed signal easily with some approaches, such as SIC. However, SIC is so complicated for a satellite and cannot realize real-time decoding, and the performance improvement is only 2∼3 dB, which is not a cost-effective scheme. As shown in Figure 9, the capacity using the ISSA protocol is about 16.7% larger than the SSA protocol when BER is 10 −6 .   The simulation of throughput (packets per beam-hopping slot) in one beam-hopping slot against the number of chips in the preamble with different Poisson arrival rates is presented in Figure 10a. The throughput obviously improves with the increase of chip number in the preamble for the optional chips, it is more and the collision probability is lower. The maximum throughput appears at λ = 0.3 for the packet arrival and collision achieving a good trade-off. It can be seen from Figure 10b that the collision probability reduces remarkably at λ = 0.3 compared with λ = 0.5 and λ = 0.4. In Figure 10b, the collision probability reduces with a decrease of λ and an increase of chip number in the preamble. When λ = 0.3, the collision probability is reduced to a relatively low level. The throughput (packets per beam-hopping slot) and collision probability against the number of STs in a cell is simulated and presented in Figure 11. Figure 11a shows that maximum throughput exists with the change of ST number and the collision probability increases with increase of the ST number in a cell. The maximum throughput is about 10 packets/slot, which is associated with Eb/N0 and the maximum access capacity. At the same time, when the packet arrival rate exceeds 12 packets/slot, the system throughput decreases for the increasing collision probability. For the simulation of collision and the number of STs in the cell, the obvious result is that the collision probability increases with the increase of the number of STs in the cell and the average arrival rate of traffic.  Figure 12 gives the throughput (packets per beam-hopping cycle) and collision probability of our proposed heuristic and MWC beam scheduling algorithms in a beam-hopping cycle against the number of chips in the preamble. The setting access capacity is 30 and the distribution of STs in cells is [500, 300, 0, 3, 1, 3,11,13,15,27,16,24,21,25,8,13,7,8, 2, 1, 1, 0, 1, 0, 0]. Two cells cover almost 80% STs, and the performance of the scheme with beam scheduling is much better than round robin's. The MWC scheduling algorithm assigns larger weight to user distribution to achieve the goal of maximizing throughput or access capacity in satellite IoTs. From this figure, we can see that the throughput is improved significantly with beam scheduling, especially in the condition of the number of chips in the preamble is over 500 and the performance of MWC scheduling is better than heuristic scheduling. The collision probability is reduced much and kept under 20% with beam scheduling. However, the collision probability of round robin is almost kept around 80%, which implies that many STs cannot access effectively. The collision probability of MWC scheduling is lower than heuristic scheduling, and the gap decreases gradually with the increase of the number of chips in the preamble. Further simulation indicates that the performance with beam scheduling in condition of nonuniform distribution of STs is approaching the performance of uniform distribution, which is an anticipated result.   Figure 13 presents the slot allocation with the same user distribution as Figure 12, and we set λ = 0.3 and the number of chips in the preamble is 1000. The degree of user satisfaction is used to measure the scheduling with different algorithms. It can be seen from the figure that the degree of satisfaction is much lower in cells that hold many STs with round robin but 100% in cells with few STs. However, we prefer to be able to guarantee the service requirements of large-volume cells to fulfill more users and more important services. The heuristic and MWC algorithms can adjust the beam scheduling according to the ST distribution and service requirements to improve the degree of satisfaction for cells with large number of STs significantly. In addition, the performance of MWC algorithm is better than the heuristic algorithm for MWC being able to find the optimal combination of cells to maximize the system throughput. Of course, the MWC algorithm is also more complex than the heuristic algorithm, and more calculation time and resources are required.

Remarks
In the different scenarios, beam-hopping may face some unpredictable problems, which are discussed in the following.

•
Doppler shift. In LEO constellation, the rapid movement of LEO satellite relative to the ground results in a large and changed Doppler shift, also includes the change of delay and propagation loss. This has a huge and unfavorable influence on the time and frequency synchronization between satellite and terrestrial users and the power control. To deal with this problem, the prediction of satellite position and velocity based on ephemeris and telemetered data will play an import and key role. The related scheme has been verified on-orbit in the Chinese Global Broadband Multimedia Beta satellite, whose orbital altitude is 950 km. The result indicate that our scheme works well and the Doppler shift has been reduced to 10∼200 Hz with Ka frequency. • LEO satellite constellation. In our designed beam-hopping satellite system, the beamhopping interval is at the millisecond level and the beam-hopping cycle is at the second level. While the visible time of LEO satellite is about minutes to tens of minutes, which is much longer than beam-hopping interval and beam-hopping cycle. Through the calculation of the azimuth and elevation, the largest changes in a beamhopping interval are below 0.5°when the orbital altitude is 1000 km, which has little effect on the performance. The beam pointing does not need to be adjusted within a beam-hopping interval. In addition, the division of service areas ensure that the satellite can cover STs even at the edge of the service area in LEO constellation. In addition, the division of service areas has been discussed in our authorized patent. However, if the orbital altitude is 500 km or even lower or the designed beam-hopping interval is long, the change of azimuth and elevation will be large and bring greater difficulties to the system design. • Geostationary surface (GeoSurf) constellation. GeoSurf constellation has been proposed in [27] to ease the system design. With GeoSurf constellation, steering antennas will not be needed, and the tropospheric propagation fading is minimized both for the stationary fading due to water vapor and oxygen, and for rain attenuation. While, the Doppler shift is largely minimized for the connected satellite and would always be viewed almost at the local zenith. Furthermore, the footprint of a single satellite is always the same, therefore making the design easier. The main problem is the large number of satellites crowding the polar region, resulting in serious system selfinterference. However, it can be eased by changing the orbital inclination and turning off some satellite loads at high latitudes. In [28], the authors give the evaluation results on both the output of a direct channel and the interference coming from the orthogonal channel in a GeoSurf satellite constellation.

Conclusions
In this paper, we study the random access based on the spread spectrum technology in beam-hopping satellite systems. The ISSA protocol has been proposed, and the heuristic and maximum-weighted clique beam scheduling algorithms are used to allocate the slots for cells. These algorithms consider the ST distribution, interference avoidance, fairness and channel condition comprehensively. The simulation results show that the ISSA protocol achieves large throughput gain and the beam scheduling algorithms bring benefit compared with the round robin scheme, especially in the scenario of nonuniform distribution of STs.

Conflicts of Interest:
The authors declare no conflict of interest.

Abbreviations and Notations
The following abbreviations and notations are used in this manuscript: If cell k still needs service at slot i, R i,k = 1; Otherwise, R i,k = 0 S Throughput expressed in packets/users per beam-hopping slot T Number of STs in a cell whose signal arrived at satellite in a BH cycle T max Maximum throughput in a parameter setting X Beam occupancy condition g t k,j Transmitting antenna gain from cell k using beam j g r j Receiving antenna gain at satellite on beam j h k,j Backward link gain from ST in cell k to on-board receiver using beam j p k,j Total transmitting power in cell k using beam j p 0 Packet recovery probability v k Vertex in auxiliary graph used to represent cell k w k Weight of cell k or vertex v k x i,j,k Illuminating state, if beam j illuminate cell k at slot i, x i,j,k = 1; Otherwise, x i,j,k = 0 x k,j The illuminating state of cell k using beam j Γ i,j,k SNIR of receiving signal at on-board receiver from cell k using beam j at slot i