\stripsep

-3pt plus 3pt minus 2pt

Distributed Satellite-Terrestrial Cooperative Routing Strategy Based on Minimum Hop-Count Analysis in Mega LEO Satellite Constellation

Xin’ao Feng, Yaohua Sun, and Mugen Peng This work was supported in part by the Bei**g Municipal Science and Technology Project under Grant Z211100004421017, in part by the National Natural Science Foundation of China under Grants 62371071, and in part by the Young Elite Scientists Sponsorship Program by CAST under Grant 2021QNRC001. (Corresponding author: Yaohua Sun) The authors are with the State Key Laboratory of Networking and Switching Technology, Bei**g University of Posts and Telecommunications, Bei**g 100876, China (e-mail:[email protected]; [email protected]; [email protected]).
Abstract

Mega low earth orbit (LEO) satellite constellation is promising in achieving global coverage with high capacity. However, forwarding packets in mega constellation faces long end-to-end delay caused by multi-hop routing and high-complexity routing table construction, which will detrimentally impair the network transmission efficiency. To overcome this issue, a distributed low-complexity satellite-terrestrial cooperative routing approach is proposed in this paper, and its core idea is that each node forwards packets to next-hop node under the constraints of minimum end-to-end hop-count and queuing delay. Particularly, to achieve an accurate and low-complexity minimum end-to-end hop-count estimation in satellite-terrestrial cooperative routing scenario, we first introduce a satellite real-time position based graph (RTPG) to simplify the description of three-dimensional constellation, and further abstract RTPG into a key node based graph (KNBG). Considering the frequent regeneration of KNBG due to satellite movement, a low complexity generation method of KNBG is studied as well. Finally, utilizing KNBG as input, we design the minimum end-to-end hop-count estimation method (KNBG-MHCE). Meanwhile, the computational complexity, routing path survival probability and practical implementation of our proposal are all deeply discussed. Extensive simulations are also conducted in systems with Ka and laser band inter-satellite links to verify the superiority of our proposal.

Index Terms:
LEO satellite network, mega constellation, minimum hop-count analysis, end-to-end routing.

I Introduction

With the decreasing cost of satellite launches, mega low earth orbit (LEO) satellite constellations have emerged as a viable solution to provide global broadband access[1, 2, 3, 4]. To further enhance communication capabilities, satellites will be equipped with on-board processing function and inter-satellite links (ISLs)[5, 6]. In this case, a well-designed routing strategy is essential to fully utilize ISLs and guarantee the end-to-end quality of service[7, 8, 9, 10].

In general, existing routing strategies in LEO satellite constellations can be classified into centralized and distributed ones[11]. Centralized strategies typically leverage virtual topology[12] or virtual node[13] approaches to transform the satellite topology into a static one, and Dijkstra Shortest Path (DSP) algorithm can be executed on the static topology to obtain a routing path with minimum propagation delay. Furthermore, as the traffic within constellation increases, routing strategy design should jointly considers propagation delay and queuing delay[14]. In this aspect, authors in [8] propose a coordinate graph (CG) to characterize the satellite networks. By pruning and traversing the minimum-hop binary tree constructed by CG, a minimum end-to-end delay routing strategy is designed. Considering signal to noise ratio (SNR), link existence time, and the buffer queue size of ISLs, literature [15] proposes a weighted time-space evolution graph to describe the topology of LEO satellite networks and designs a utility based routing algorithm. Although centralized routing strategy design can be simplified with snapshot idea[16, 17, 18], the complexity of them is high in mega constellations and updating routing tables for every satellite will also incur massive overhead[19].

Compared to centralized strategies, distributed routing strategies can make more flexible and adaptive routing decisions based on collected global or local network information. When global network information is used for routing, each satellite maintains a real-time database which describes the status information of the whole network[20]. To ensure the realtimeness of database, the state information of each satellite, such as available link ports and satellite load, need to be flooded through the network. However, due to the tens of milliseconds latency of ISLs, flooding among thousands of satellites will result in excessive routing convergence time. For example, the average route convergence time of Open Shortest Path First (OSPF) strategy in Iridium constellation is 38.43s[21], which will result in severe service interruption. To overcome this issue, literature [22] stores the space-time graph on each satellite which can avoid the flooding of information on link changes caused by satellite movement. However, network-wide flooding is still required to address the unexpected link failures, and storing space-time graphs in all satellites will also lead to a significant consumption of storage resources.

On the other hand, routing based on local network information may not result in a globally optimal solution, but these strategies eliminate the need for network-wide flooding. Hence, fast routing convergence with acceptable overhead and low complexity can be achieved. In [23], authors propose Explicit Load Balancing (ELB) strategy, which forwards packets by considering the load status of next-hop satellite. However, it neglects the load status of sending buffer queue in current satellite, which may result in packet loss even the state of next-hop satellite shows ”free”. Moreover, Longer Side Priority (LSP) strategy [24] considers the load statuses of current satellite queues for packets forwarding, but the load status of next-hop satellite is not adequately taken into account. By jointly considering the load status of current satellite queues and next-hop satellite, Traffic-Light-Based routing strategy (TLR) [25] realizes multi-path routing. However, the potential endless-loop problem in TLR will result in a large number of unnecessary routing hops in mega constellations.

In above routing strategies, they just utilize ISLs for routing, and applying those strategies in mega constellations will incur a significant increase in end-to-end routing hop-count. Based on the complex network theory, average end-to-end routing hops can be used to measure the network transmission efficiency, and bigger end-to-end routing hops always imply lower transmission efficiency and smaller network throughput [26, 27, 28]. Moreover, with the rapidly increasing traffic load in satellite network, too many routing hops will also result in long queuing delay [29, 30, 31], which seriously affects the network transmission performance. Therefore, how to decrease the end-to-end routing hop-count becomes an important challenge [32, 33]. Most current research tries to reduce the end-to-end routing hops and improve network performance by designing the constellation topology. Authors in literature [27] categorize satellites into backbone and access satellites, and dynamically adjust ISLs to enhance the network transmission efficiency. Similarly, literature [28] proposes a user-driven flexible and effective link connection method for mega constellations to reduce routing hops and improve network utilization. The authors in literature [34, 35] mention that temporary ISLs can be established between satellites moving in opposite directions, which can significantly reduce the average end-to-end routing hop-count of the network. All above studies establish dynamic and temporary ISLs to reduce end-to-end routing hops and improve network transmission performance. However, this is contrary to the dominant Iridium constellation and Starlink constellation [36, 37], where each satellite will establish four permanent ISLs with its neighboring satellites and form a regular Manhattan network. In mega constellations, such Manhattan networks possess better stability, which can greatly reduce the topology dynamics and alleviate the network management overhead, as well as decrease the complexity of on-board transceivers design [34, 38, 39]. But the disadvantage is that this regular networking approach will cause some unnecessary routing hops and limit the network transmission performance. Therefore, by introducing a small number of ground relays, we plan to realize satellite-terrestrial cooperative routing, which can not only reduce the number of end-to-end routing hops, but also ensure the low dynamic advantage of regular Manhattan network.

In addition, to further ensure small end-to-end routing hops, each time forwarding can be achieved based on the minimum end-to-end hop-count constraint. Traditionally, minimum end-to-end hop-count constraint is got by network simulation[40], [41], but massive overhead and intolerable runtime will be a big problem in mega constellations. To solve this issue, an estimation method with O(1)𝑂1O(1)italic_O ( 1 ) complexity is proposed in [33]. This method estimates the minimum end-to-end hop-count based on parameters of Walker constellation, but unfortunately it can not be extended to satellite-terrestrial cooperative routing scenario. Another feasible approach is executing Dijkstra on a two-dimensional (2D) graph built from three-dimensional (3D) constellation[42]. However, if there are total n𝑛nitalic_n satellites and k𝑘kitalic_k ground relays, the complexity of one estimation is O((n+k)3)𝑂superscript𝑛𝑘3O\big{(}(n+k)^{3}\big{)}italic_O ( ( italic_n + italic_k ) start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT ), which lacks scalability in mega constellations.

Motivated by these observations, in this paper, we propose a low complexity distributed satellite-terrestrial cooperative routing approach, and its core idea is that each node forwards packets to next-hop node by jointly considering the minimum end-to-end hop-count and queuing delay constraints. Particularly, to achieve a low-complexity minimum end-to-end hop-count estimation in such cooperative routing scenario, satellite real-time position based graph (RTPG) is first designed to simplify the description of 3D constellation. By extracting key nodes in RTPG and generating edges with the minimum hop-count between nodes as weights, key node based graph (KNBG) is created. Next, considering the frequent regeneration of KNBG due to satellite movement, a low complexity generation method of KNBG is studied as well. Finally, with KNBG as input, a minimum end-to-end hop-count estimation method KNBG-MHCE is designed. Meanwhile, we fully discuss the property and practical implementation of our proposal, and extensive simulations are conducted to verify that our proposal can significantly reduce the end-to-end routing hop-count and enhance system throughput as well as delay performance.

The contributions of this paper are summarized as follows.

  • A Satellite-Terrestrial Cooperative Routing Framework and Low Complexity Minimum End-to-End Hop-Count Estimation Method: We introduce a satellite-terrestrial cooperative routing framework, which consists of a mega LEO satellite constellation and a small number of ground relays. In this framework, each ground relay can establish satellite-ground links (SGLs) with multiple satellites within elevation range. By using SGLs, some pure inter-satellite forwarding processes can be replaced by satellite-terrestrial cooperative routing, which can significantly reduce the end-to-end routing hop-count under mega constellations. To further ensure small end-to-end routing hops, we design a low-complexity method KNBG-MHCE to estimate the minimum end-to-end hop-count. Since the input of KNBG-MHCE is a key node based graph with lower dimensions, the complexity of KNBG-MHCE is reduced by a factor of 39.15 compared to traditional Dijkstra method in Starlink phase I constellation, which reflects the good scalability of our design.

  • Low Overhead and Distributed Satellite-Terrestrial Cooperative Routing Strategy: We propose a distributed satellite-terrestrial cooperative routing strategy based on the local load information and minimum end-to-end hop-count constraints given by KNBG-MHCE. To reduce the routing overhead, source routing paradigm is employed where the source node encapsulates the minimum end-to-end hop-count constraints derived from KNBG-MHCE into packets. Subsequently, each node can make distributed routing decisions with fast routing convergence by extracting the encapsulated information and jointly considering the load status of current satellite queues as well as next-hop node.

  • Deep Analysis of the Property, Practical Implementation, and Extensive Simulation of Our Proposal: We analyze and compare the complexity of KNBG-MHCE with traditional Dijkstra method, and the path survival probability of our proposal is analyzed with inclusion-exclusion principle as well. Moreover, the conditions when the routing hop-count of the shortest distance path is equal to the minimum hop-count value is also discussed. To facilitate practical applications, we provide a detailed design of the packet encapsulation format to store the results of KNBG-MHCE. Finally, under Starlink phase I constellation, extensive simulations are conducted in systems with Ka and laser band ISLs to evaluate the performance of our proposal. Compared with routing strategies that just utilize ISLs, our proposal can reduce end-to-end delay by more than 200ms, and increase average system throughput by over 100% in both systems. Compared with other satellite-terrestrial cooperative routing strategies, our proposal can improve system throughput by 13.29% and 32.5% under Ka and laser band ISLs, respectively.

The remainder of this paper is organized as follows. System model and satellite-terrestrial cooperative routing framework are described in Section II. The graph model RTPG is introduced in Section III. The entire KNBG-MHCE method is designed in Section IV. Our routing strategy is proposed in Section V. Property analysis and packet format design are provided in Section VI. Simulations are presented in Section VII, and Section VIII concludes the entire paper. The notation used in this paper is summarized in Table I.

TABLE I: Notation
Notation Definition
ωesubscript𝜔𝑒\omega_{e}italic_ω start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT The angular velocity of the earth’s rotation
ωssubscript𝜔𝑠\omega_{s}italic_ω start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT The angular velocity of satellite motion
resubscript𝑟𝑒r_{e}italic_r start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT The radius of the earth
N𝑁Nitalic_N The number of orbits in the constellation
M𝑀Mitalic_M The number of satellites per orbit
ΔΩΔΩ\Delta\Omegaroman_Δ roman_Ω The longitude difference between adjacent orbits
ΔΦΔΦ\Delta\Phiroman_Δ roman_Φ The phase difference between neighboring satellites
within a same orbit
ΔfΔ𝑓\Delta froman_Δ italic_f The phase difference between satellites connected by
an inter-orbit link in adjacent orbits
ξ(um,t)𝜉subscript𝑢𝑚𝑡\xi(u_{m,t})italic_ξ ( italic_u start_POSTSUBSCRIPT italic_m , italic_t end_POSTSUBSCRIPT ) The longitude difference from orbit ascending node
to satellite m𝑚mitalic_m in the same orbit
F𝐹Fitalic_F The phasing factor of the constellation
S𝑆Sitalic_S The total number of satellites in the constellation
hhitalic_h The orbit altitude
α𝛼\alphaitalic_α The orbit inclination with respect to the equator
λm,t,φm,tsubscript𝜆𝑚𝑡subscript𝜑𝑚𝑡\lambda_{m,t},\varphi_{m,t}italic_λ start_POSTSUBSCRIPT italic_m , italic_t end_POSTSUBSCRIPT , italic_φ start_POSTSUBSCRIPT italic_m , italic_t end_POSTSUBSCRIPT The longitude and latitude of satellite m𝑚mitalic_m
um,tsubscript𝑢𝑚𝑡u_{m,t}italic_u start_POSTSUBSCRIPT italic_m , italic_t end_POSTSUBSCRIPT The phase of satellite m𝑚mitalic_m
Ln,tsubscript𝐿𝑛𝑡L_{n,t}italic_L start_POSTSUBSCRIPT italic_n , italic_t end_POSTSUBSCRIPT The longitude of ascending node in orbit n𝑛nitalic_n
Hminsubscript𝐻minH_{\text{min}}italic_H start_POSTSUBSCRIPT min end_POSTSUBSCRIPT Minimum end-to-end hops for inter-satellite routing
RISLsubscript𝑅𝐼𝑆𝐿R_{ISL}italic_R start_POSTSUBSCRIPT italic_I italic_S italic_L end_POSTSUBSCRIPT The rate of inter-satellite link
RSGLup,RSGLdownsuperscriptsubscript𝑅𝑆𝐺𝐿𝑢𝑝superscriptsubscript𝑅𝑆𝐺𝐿𝑑𝑜𝑤𝑛R_{SGL}^{up},R_{SGL}^{down}italic_R start_POSTSUBSCRIPT italic_S italic_G italic_L end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_u italic_p end_POSTSUPERSCRIPT , italic_R start_POSTSUBSCRIPT italic_S italic_G italic_L end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d italic_o italic_w italic_n end_POSTSUPERSCRIPT The rate of uplink and downlink satellite-ground link
Rpacsubscript𝑅𝑝𝑎𝑐R_{pac}italic_R start_POSTSUBSCRIPT italic_p italic_a italic_c end_POSTSUBSCRIPT The packet arrival rate

II System Model and Satellite-Terrestrial Cooperative Routing Framework

II-A Walker-Delta Constellation Model

Refer to caption
Figure 1: Walker Delta constellation and ISL connection model.

Our study primarily focuses on the mega Walker Delta constellation, which comprises N𝑁Nitalic_N orbits with an acute orbit inclination α𝛼\alphaitalic_α, and each orbit contains M𝑀Mitalic_M satellites. As illustrated in Fig. 1, N𝑁Nitalic_N orbits are uniformly distributed in the equatorial plane, and the difference between adjacent orbits in the longitude of ascending node is ΔΩ=2π/NΔΩ2𝜋𝑁\Delta\Omega=2\pi/Nroman_Δ roman_Ω = 2 italic_π / italic_N. Moreover, M𝑀Mitalic_M satellites are also uniformly distributed in each orbit, and the phase difference between neighboring satellites within an orbit is ΔΦ=2π/MΔΦ2𝜋𝑀\Delta\Phi=2\pi/Mroman_Δ roman_Φ = 2 italic_π / italic_M. Meanwhile, the phase difference between two satellites connected by an inter-orbit link is Δf=2πF/(NM)Δ𝑓2𝜋𝐹𝑁𝑀\Delta f=2\pi F/(NM)roman_Δ italic_f = 2 italic_π italic_F / ( italic_N italic_M ), where F𝐹Fitalic_F is phasing factor given as a constant in the design of constellation. In this paper, each satellite can establish four permanent ISLs with its neighboring satellites, consisting of two intra-orbit links and two inter-orbit links, and all satellites are further categorized as ascending satellites and descending satellites[33] based on their moving directions. Ascending satellites are moving in the latitude-increasing direction, while descending satellites are moving in the latitude-decreasing direction.

II-B Satellite-Terrestrial Cooperative Routing Framework

Refer to caption
Figure 2: Satellite-terrestrial cooperative routing framework.

The introduced satellite-terrestrial cooperative routing framework is shown in Fig. 2, which consists of ground nodes and a mega Walker Delta constellation. Here, ground nodes include source nodes, destination nodes, and ground relay nodes. The source and destination nodes are accessed into the constellation as users[43]. Every ground relay node can establish several SGLs with satellites within elevation range and make routing decisions according to routing strategy[44, 45]. GRk𝐺subscript𝑅𝑘GR_{k}italic_G italic_R start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT is used to denote the ground relay whose ID is k𝑘kitalic_k. Moreover, all satellites in constellation possess on-board processing capability, enabling them to forward packets to neighboring nodes via ISLs or SGLs. In more detail, satellites that provide access service to source and destination nodes are defined as access satellite, which are represented as Scsubscript𝑆𝑐S_{c}italic_S start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT and Sdsubscript𝑆𝑑S_{d}italic_S start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT, respectively. Satellites with SGLs are referred to satellite gateway, and packets can be forwarded between satellite gateways and ground relays via SGLs. For convenience, we denote the i𝑖iitalic_i-th satellite gateway belonging to ground relay k𝑘kitalic_k as SGk,i𝑆subscript𝐺𝑘𝑖SG_{k,i}italic_S italic_G start_POSTSUBSCRIPT italic_k , italic_i end_POSTSUBSCRIPT, and refer to all satellite gateways in system as key nodes. In addition, the selection of access satellites by source and destination nodes is outside the scope of our study, so the end-to-end routing in the following means the routing process from Scsubscript𝑆𝑐S_{c}italic_S start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT to Sdsubscript𝑆𝑑S_{d}italic_S start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT.

Under the satellite-terrestrial cooperative routing framework, packets can be forwarded in three potential modes, which include inter-satellite forwarding, satellite-terrestrial forwarding, and terrestrial-satellite forwarding. The last two modes represent the forwarding of packets between satellite gateway and ground relay via downlink SGL or uplink SGL, while the inter-satellite forwarding means packets are routed between satellites via ISLs. In this paper, each forwarding via ISL or SGL is defined as one hop, and the inter-satellite routing is performed based on the inter-satellite minimum hop-count estimation results, which specify the routing direction, as well as the minimum number of routing hops required in the horizontal and vertical direction. In Walker Delta constellation, all potential routing directions can be categorized into four types, which involve top-right, bottom-right, top-left, and bottom-left[33]. Taking Fig. 2 as an example, the minimum hop-count Hminsubscript𝐻minH_{\text{min}}italic_H start_POSTSUBSCRIPT min end_POSTSUBSCRIPT from Scsubscript𝑆𝑐S_{c}italic_S start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT to Sk,1subscript𝑆𝑘1S_{k,1}italic_S start_POSTSUBSCRIPT italic_k , 1 end_POSTSUBSCRIPT is 3, with a routing direction of top-right, where the minimum routing hops required in the horizontal and vertical direction are 1 and 2, respectively. Furthermore, in the inter-satellite routing mode with minimum hop-count constrains, each satellite can forward packets to the next-hop satellite in horizontal or vertical direction via ISLs, but when the remaining hop-count in one forwarding direction is 0, packets can only be forwarded to next-hop satellite corresponds to the other direction.

Based on the framework described here, we deeply study the low-complexity minimum end-to-end hop-count estimation method as well as the satellite-terrestrial cooperative routing strategy, and the entire paper is organized as Fig. 3. We first introduce the satellite real-time position based graph (RTPG) to describe 3D constellations in Section III. By using RTPG, the minimum end-to-end hop-count estimation method (KNBG-MHCE) is designed in Section IV. Utilizing the minimum end-to-end hop-count constraints given by KNBG-MHCE and jointly considering the load status of satellites, we propose the distributed cooperative routing strategy in Section V.

Refer to caption
Figure 3: The organization of entire paper.

III Two-Dimensional Graph Model Design

III-A Geographic Region Division of the Earth’s Surface

In walker Delta constellation, since N𝑁Nitalic_N orbits are uniformly distributed along the equator at an interval of ΔΩΔΩ\Delta\Omegaroman_Δ roman_Ω, we divide the earth’s surface into N𝑁Nitalic_N regions along the horizontal direction from λ=0𝜆superscript0\lambda=0^{\circ}italic_λ = 0 start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT, and all regions have a width of ΔΩΔΩ\Delta\Omegaroman_Δ roman_Ω. The longitudes corresponding to the left and right boundaries of region P𝑃Pitalic_P are given by (1). Moreover, satellites are uniformly distributed within their orbits with phase difference ΔΦΔΦ\Delta\Phiroman_Δ roman_Φ. Therefore, each orbit can be divided into M𝑀Mitalic_M regions starting from the phase π2𝜋2\frac{\pi}{2}divide start_ARG italic_π end_ARG start_ARG 2 end_ARG. However, due to the non-linear relationship between the phase difference and latitude difference caused by orbit inclination, these regions will translate into M𝑀Mitalic_M unevenly distributed regions in vertical direction of the earth’s surface. The latitudes corresponding to the lower and upper boundaries of region R𝑅Ritalic_R in vertical direction are given by (2). In the following two equations, P𝑃Pitalic_P takes value from 0,1,,N101𝑁10,1,\dots,N-10 , 1 , … , italic_N - 1, and R𝑅Ritalic_R takes values from 0,1,,M101𝑀10,1,\dots,M-10 , 1 , … , italic_M - 1.

{λleft=PΔΩ,λright=(P+1)ΔΩ.casessubscript𝜆𝑙𝑒𝑓𝑡𝑃ΔΩotherwisesubscript𝜆𝑟𝑖𝑔𝑡𝑃1ΔΩotherwise\begin{cases}\lambda_{left}=P\cdot\Delta\Omega,\\ \lambda_{right}=(P+1)\cdot\Delta\Omega.\end{cases}{ start_ROW start_CELL italic_λ start_POSTSUBSCRIPT italic_l italic_e italic_f italic_t end_POSTSUBSCRIPT = italic_P ⋅ roman_Δ roman_Ω , end_CELL start_CELL end_CELL end_ROW start_ROW start_CELL italic_λ start_POSTSUBSCRIPT italic_r italic_i italic_g italic_h italic_t end_POSTSUBSCRIPT = ( italic_P + 1 ) ⋅ roman_Δ roman_Ω . end_CELL start_CELL end_CELL end_ROW (1)
{φlower=arcsin(sinαsin(π22πM(MR))),φupper=arcsin(sinαsin(π22πM(MR1))).casessubscript𝜑𝑙𝑜𝑤𝑒𝑟arcsinsin𝛼sin𝜋22𝜋𝑀𝑀𝑅otherwisesubscript𝜑𝑢𝑝𝑝𝑒𝑟arcsinsin𝛼sin𝜋22𝜋𝑀𝑀𝑅1otherwise\begin{cases}\varphi_{lower}=\text{arcsin}\big{(}\text{sin}\alpha\text{sin}% \big{(}\frac{\pi}{2}-\frac{2\pi}{M}(M-R)\big{)}\big{)},\\ \varphi_{upper}=\text{arcsin}\big{(}\text{sin}\alpha\text{sin}\big{(}\frac{\pi% }{2}-\frac{2\pi}{M}(M-R-1)\big{)}\big{)}.\end{cases}{ start_ROW start_CELL italic_φ start_POSTSUBSCRIPT italic_l italic_o italic_w italic_e italic_r end_POSTSUBSCRIPT = arcsin ( sin italic_α sin ( divide start_ARG italic_π end_ARG start_ARG 2 end_ARG - divide start_ARG 2 italic_π end_ARG start_ARG italic_M end_ARG ( italic_M - italic_R ) ) ) , end_CELL start_CELL end_CELL end_ROW start_ROW start_CELL italic_φ start_POSTSUBSCRIPT italic_u italic_p italic_p italic_e italic_r end_POSTSUBSCRIPT = arcsin ( sin italic_α sin ( divide start_ARG italic_π end_ARG start_ARG 2 end_ARG - divide start_ARG 2 italic_π end_ARG start_ARG italic_M end_ARG ( italic_M - italic_R - 1 ) ) ) . end_CELL start_CELL end_CELL end_ROW (2)

By dividing the regions both horizontally and vertically, the entire earth’s surface is divided into N×M𝑁𝑀N\times Mitalic_N × italic_M regions. Referring to Fig. 4, when N=5𝑁5N=5italic_N = 5 and M=10𝑀10M=10italic_M = 10, the earth’s surface is divided into 5 regions in horizontal direction and 10 regions in vertical direction, and each region can be represented by its coordinates (P,R)𝑃𝑅(P,R)( italic_P , italic_R ). In addition, there is only one satellite within each region at any given time.

III-B Satellite Real-Time Position Based Graph Model

The coordinates of region where each satellite is located at time t𝑡titalic_t need to be calculated, which is the key to convert the three-dimensional constellation into a two-dimensional graph. Although the position of satellites and orbits in relation to the earth is continuously changing, satellite phase and the longitude of ascending node can be used to indicate the position of a satellite, and determine which region the satellite is located in. For the m𝑚mitalic_m-th satellite in orbit n𝑛nitalic_n at time t𝑡titalic_t, the latitude φm,tsubscript𝜑𝑚𝑡\varphi_{m,t}italic_φ start_POSTSUBSCRIPT italic_m , italic_t end_POSTSUBSCRIPT and longitude λm,tsubscript𝜆𝑚𝑡\lambda_{m,t}italic_λ start_POSTSUBSCRIPT italic_m , italic_t end_POSTSUBSCRIPT can be obtained according to the ephemeris information. Employing these two parameters, the phase of satellite m𝑚mitalic_m and the longitude of ascending node in orbit n𝑛nitalic_n can be calculated by (3) and (4), respectively[33].

um,t={arcsinsinφm,tsinα,ascending satellite,φm,t|φm,t|πarcsinsinφm,tsinα,descending satellite.subscript𝑢𝑚𝑡casesarcsinsinsubscript𝜑𝑚𝑡sin𝛼ascending satellite,subscript𝜑𝑚𝑡subscript𝜑𝑚𝑡𝜋arcsinsinsubscript𝜑𝑚𝑡sin𝛼descending satellite.{u_{m,t}}=\begin{cases}\text{arcsin}\frac{\text{sin}\varphi_{m,t}}{\text{sin}% \alpha},&{\text{ascending satellite,}}\\ \frac{\varphi_{m,t}}{|\varphi_{m,t}|}\pi-\text{arcsin}\frac{\text{sin}\varphi_% {m,t}}{\text{sin}\alpha},&{\text{descending satellite.}}\end{cases}italic_u start_POSTSUBSCRIPT italic_m , italic_t end_POSTSUBSCRIPT = { start_ROW start_CELL arcsin divide start_ARG sin italic_φ start_POSTSUBSCRIPT italic_m , italic_t end_POSTSUBSCRIPT end_ARG start_ARG sin italic_α end_ARG , end_CELL start_CELL ascending satellite, end_CELL end_ROW start_ROW start_CELL divide start_ARG italic_φ start_POSTSUBSCRIPT italic_m , italic_t end_POSTSUBSCRIPT end_ARG start_ARG | italic_φ start_POSTSUBSCRIPT italic_m , italic_t end_POSTSUBSCRIPT | end_ARG italic_π - arcsin divide start_ARG sin italic_φ start_POSTSUBSCRIPT italic_m , italic_t end_POSTSUBSCRIPT end_ARG start_ARG sin italic_α end_ARG , end_CELL start_CELL descending satellite. end_CELL end_ROW (3)
Ln,t=(λm,tξ(um,t)).subscript𝐿𝑛𝑡subscript𝜆𝑚𝑡𝜉subscript𝑢𝑚𝑡L_{n,t}=\mathbb{N}\big{(}\lambda_{m,t}-\xi(u_{m,t})\big{)}.italic_L start_POSTSUBSCRIPT italic_n , italic_t end_POSTSUBSCRIPT = blackboard_N ( italic_λ start_POSTSUBSCRIPT italic_m , italic_t end_POSTSUBSCRIPT - italic_ξ ( italic_u start_POSTSUBSCRIPT italic_m , italic_t end_POSTSUBSCRIPT ) ) . (4)
ξ(um,t)={arctan(cosαtanum,t),ascending satellite,arctan(cosαtanum,t)+π,descending satellite.𝜉subscript𝑢𝑚𝑡casesarctancos𝛼tansubscript𝑢𝑚𝑡ascending satellite,arctancos𝛼tansubscript𝑢𝑚𝑡𝜋descending satellite.{\xi(u_{m,t})}=\begin{cases}\text{arctan}(\text{cos}\alpha\text{tan}u_{m,t}),&% {\text{ascending satellite,}}\\ \text{arctan}(\text{cos}\alpha\text{tan}u_{m,t})+\pi,&{\text{descending % satellite.}}\end{cases}italic_ξ ( italic_u start_POSTSUBSCRIPT italic_m , italic_t end_POSTSUBSCRIPT ) = { start_ROW start_CELL arctan ( cos italic_α tan italic_u start_POSTSUBSCRIPT italic_m , italic_t end_POSTSUBSCRIPT ) , end_CELL start_CELL ascending satellite, end_CELL end_ROW start_ROW start_CELL arctan ( cos italic_α tan italic_u start_POSTSUBSCRIPT italic_m , italic_t end_POSTSUBSCRIPT ) + italic_π , end_CELL start_CELL descending satellite. end_CELL end_ROW (5)

um,t[π,π]subscript𝑢𝑚𝑡𝜋𝜋u_{m,t}\in[-\pi,\pi]italic_u start_POSTSUBSCRIPT italic_m , italic_t end_POSTSUBSCRIPT ∈ [ - italic_π , italic_π ] represents the phase of satellite m𝑚mitalic_m at time t𝑡titalic_t. When the phase of satellite is within [π/2,π/2]𝜋2𝜋2[-\pi/2,\pi/2][ - italic_π / 2 , italic_π / 2 ], it signifies that this satellite is an ascending satellite. Otherwise, this satellite is a descending satellite. On the other hand, Ln,t[0,2π]subscript𝐿𝑛𝑡02𝜋L_{n,t}\in[0,2\pi]italic_L start_POSTSUBSCRIPT italic_n , italic_t end_POSTSUBSCRIPT ∈ [ 0 , 2 italic_π ] represents the longitude of ascending node in orbit n𝑛nitalic_n. (x)=mod(x,2π)𝑥mod𝑥2𝜋\mathbb{N}(x)=\text{mod}(x,2\pi)blackboard_N ( italic_x ) = mod ( italic_x , 2 italic_π ) in (4) is a normalisation function that ensures the value of Ln,tsubscript𝐿𝑛𝑡L_{n,t}italic_L start_POSTSUBSCRIPT italic_n , italic_t end_POSTSUBSCRIPT is within the interval [0,2π]02𝜋[0,2\pi][ 0 , 2 italic_π ]. Based on um,tsubscript𝑢𝑚𝑡u_{m,t}italic_u start_POSTSUBSCRIPT italic_m , italic_t end_POSTSUBSCRIPT and Ln,tsubscript𝐿𝑛𝑡L_{n,t}italic_L start_POSTSUBSCRIPT italic_n , italic_t end_POSTSUBSCRIPT, we can calculate coordinates (Pn,t,Rm,t)subscript𝑃𝑛𝑡subscript𝑅𝑚𝑡(P_{n,t},R_{m,t})( italic_P start_POSTSUBSCRIPT italic_n , italic_t end_POSTSUBSCRIPT , italic_R start_POSTSUBSCRIPT italic_m , italic_t end_POSTSUBSCRIPT ) of the region where satellite m𝑚mitalic_m in orbit n𝑛nitalic_n is located at time t𝑡titalic_t, and Pn,tsubscript𝑃𝑛𝑡P_{n,t}italic_P start_POSTSUBSCRIPT italic_n , italic_t end_POSTSUBSCRIPT is expressed as

Pn,t=Ln,tΔΩ,n=1,2,,N.formulae-sequencesubscript𝑃𝑛𝑡subscript𝐿𝑛𝑡ΔΩ𝑛12𝑁P_{n,t}=\big{\lfloor}\frac{L_{n,t}}{\Delta\Omega}\big{\rfloor},\quad n=1,2,% \cdots,N.italic_P start_POSTSUBSCRIPT italic_n , italic_t end_POSTSUBSCRIPT = ⌊ divide start_ARG italic_L start_POSTSUBSCRIPT italic_n , italic_t end_POSTSUBSCRIPT end_ARG start_ARG roman_Δ roman_Ω end_ARG ⌋ , italic_n = 1 , 2 , ⋯ , italic_N . (6)

In equation (6), Pn,tsubscript𝑃𝑛𝑡P_{n,t}italic_P start_POSTSUBSCRIPT italic_n , italic_t end_POSTSUBSCRIPT takes values from 0,1,,N101𝑁10,1,\cdots,N-10 , 1 , ⋯ , italic_N - 1, and a different value of Pn,tsubscript𝑃𝑛𝑡P_{n,t}italic_P start_POSTSUBSCRIPT italic_n , italic_t end_POSTSUBSCRIPT indicates that the satellite is located in different horizontal region. Since Ln,tsubscript𝐿𝑛𝑡L_{n,t}italic_L start_POSTSUBSCRIPT italic_n , italic_t end_POSTSUBSCRIPT will be changed due to the earth rotation, Pn,tsubscript𝑃𝑛𝑡P_{n,t}italic_P start_POSTSUBSCRIPT italic_n , italic_t end_POSTSUBSCRIPT is a periodic variable with period Te=2π/ωesubscript𝑇𝑒2𝜋subscript𝜔𝑒T_{e}=2\pi/\omega_{e}italic_T start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT = 2 italic_π / italic_ω start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT, where ωesubscript𝜔𝑒\omega_{e}italic_ω start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT is an angular velocity of the earth rotation. The other coordinate Rm,tsubscript𝑅𝑚𝑡R_{m,t}italic_R start_POSTSUBSCRIPT italic_m , italic_t end_POSTSUBSCRIPT is given as

Rm,t=𝒖m,tπ/2ΔΦ,m=1,2,,M,formulae-sequencesubscript𝑅𝑚𝑡subscript𝒖𝑚𝑡𝜋2ΔΦ𝑚12𝑀R_{m,t}=\big{\lfloor}\frac{\bm{u}_{m,t}-\pi/2}{\Delta\Phi}\big{\rfloor},\quad m% =1,2,\cdots,M,italic_R start_POSTSUBSCRIPT italic_m , italic_t end_POSTSUBSCRIPT = ⌊ divide start_ARG bold_italic_u start_POSTSUBSCRIPT italic_m , italic_t end_POSTSUBSCRIPT - italic_π / 2 end_ARG start_ARG roman_Δ roman_Φ end_ARG ⌋ , italic_m = 1 , 2 , ⋯ , italic_M , (7)
where 𝒖m,t={um,t,if um,tπ/2,um,t+2π,if um,t<π/2.where subscript𝒖𝑚𝑡casessubscript𝑢𝑚𝑡if um,tπ/2,subscript𝑢𝑚𝑡2𝜋if um,t<π/2.\text{where }\bm{u}_{m,t}=\begin{cases}u_{m,t},&{\text{if $u_{m,t}\geq\pi/2$,}% }\\ u_{m,t}+2\pi,&{\text{if $u_{m,t}<\pi/2$.}}\end{cases}where bold_italic_u start_POSTSUBSCRIPT italic_m , italic_t end_POSTSUBSCRIPT = { start_ROW start_CELL italic_u start_POSTSUBSCRIPT italic_m , italic_t end_POSTSUBSCRIPT , end_CELL start_CELL if italic_u start_POSTSUBSCRIPT italic_m , italic_t end_POSTSUBSCRIPT ≥ italic_π / 2 , end_CELL end_ROW start_ROW start_CELL italic_u start_POSTSUBSCRIPT italic_m , italic_t end_POSTSUBSCRIPT + 2 italic_π , end_CELL start_CELL if italic_u start_POSTSUBSCRIPT italic_m , italic_t end_POSTSUBSCRIPT < italic_π / 2 . end_CELL end_ROW (8)

Following (7) and (8), Rm,tsubscript𝑅𝑚𝑡R_{m,t}italic_R start_POSTSUBSCRIPT italic_m , italic_t end_POSTSUBSCRIPT takes value from 0,1,,M101𝑀10,1,\cdots,M-10 , 1 , ⋯ , italic_M - 1, and a different value of Rm,tsubscript𝑅𝑚𝑡R_{m,t}italic_R start_POSTSUBSCRIPT italic_m , italic_t end_POSTSUBSCRIPT indicates the satellite is located in different vertical region. Since all satellites move along the orbit with angular velocity ωssubscript𝜔𝑠\omega_{s}italic_ω start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT, Rm,tsubscript𝑅𝑚𝑡R_{m,t}italic_R start_POSTSUBSCRIPT italic_m , italic_t end_POSTSUBSCRIPT is also a periodic variable with period Ts=2π/ωssubscript𝑇𝑠2𝜋subscript𝜔𝑠T_{s}=2\pi/\omega_{s}italic_T start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT = 2 italic_π / italic_ω start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT. Moreover, the phases corresponding to the lower and upper boundaries of region R𝑅Ritalic_R in vertical direction are expressed as

{𝒰u(𝒖m,t)=(Rm,t+1)ΔΦ,𝒰l(𝒖m,t)=Rm,tΔΦ.casessubscript𝒰𝑢subscript𝒖𝑚𝑡subscript𝑅𝑚𝑡1ΔΦotherwisesubscript𝒰𝑙subscript𝒖𝑚𝑡subscript𝑅𝑚𝑡ΔΦotherwise\begin{cases}\mathcal{U}_{u}(\bm{u}_{m,t})=(R_{m,t}+1)\Delta\Phi,\\ \mathcal{U}_{l}(\bm{u}_{m,t})=R_{m,t}\Delta\Phi.\end{cases}{ start_ROW start_CELL caligraphic_U start_POSTSUBSCRIPT italic_u end_POSTSUBSCRIPT ( bold_italic_u start_POSTSUBSCRIPT italic_m , italic_t end_POSTSUBSCRIPT ) = ( italic_R start_POSTSUBSCRIPT italic_m , italic_t end_POSTSUBSCRIPT + 1 ) roman_Δ roman_Φ , end_CELL start_CELL end_CELL end_ROW start_ROW start_CELL caligraphic_U start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT ( bold_italic_u start_POSTSUBSCRIPT italic_m , italic_t end_POSTSUBSCRIPT ) = italic_R start_POSTSUBSCRIPT italic_m , italic_t end_POSTSUBSCRIPT roman_Δ roman_Φ . end_CELL start_CELL end_CELL end_ROW (9)

By calculating coordinates of the region in which each satellite is positioned, we can transform the constellation into a two-dimensional graph model RTPG as shown in Fig. 4.

Refer to caption
Figure 4: Walker Delta constellation topology based on RTPG model.

IV Minimum Hop-Count Estimation Method For Satellite-Terrestrial Cooperative Routing

Through the study of section III, 3D constellation can be depicted as a 2D graph RTPG. In this section, by extracting key nodes in RTPG and generating weighted edges between them, we form the key node based graph (KNBG), and introduce KNBG based minimum end-to-end hop-count estimation method (KNBG-MHCE) for satellite-terrestrial cooperative routing. It is further note that KNBG will be regenerated frequently due to satellite movement, so we fully develop the key node extraction and weighted edge generation methods to realize low-complexity generation of KNBG.

IV-A Minimum Hop-Count Estimation for Pure Inter-Satellite Forwarding Mode

Before designing KNBG-MHCE method, we need to study the minimum end-to-end hop-count estimation between two satellites under inter-satellite forwarding mode at first. The estimation results will then serve as weights for the edges connecting key nodes within KNBG, and give the routing direction and minimum hop-count constraints for inter-satellite routing as well. Aiming at reducing the computational overhead, a minimum end-to-end hop-count estimation method with complexity O(1)𝑂1O(1)italic_O ( 1 ) for inter-satellite forwarding mode is designed based on satellite coordinates in RTPG. For brevity, we assume the coordinates of two satellite nodes in RTPG are (Pn1,t,Rm1,t)subscript𝑃𝑛1𝑡subscript𝑅𝑚1𝑡(P_{n1,t},R_{m1,t})( italic_P start_POSTSUBSCRIPT italic_n 1 , italic_t end_POSTSUBSCRIPT , italic_R start_POSTSUBSCRIPT italic_m 1 , italic_t end_POSTSUBSCRIPT ) and (Pn2,t,Rm2,t)subscript𝑃𝑛2𝑡subscript𝑅𝑚2𝑡(P_{n2,t},R_{m2,t})( italic_P start_POSTSUBSCRIPT italic_n 2 , italic_t end_POSTSUBSCRIPT , italic_R start_POSTSUBSCRIPT italic_m 2 , italic_t end_POSTSUBSCRIPT ), and the minimum end-to-end hop-count between them in inter-satellite forwarding mode is Hminsubscript𝐻minH_{\text{min}}italic_H start_POSTSUBSCRIPT min end_POSTSUBSCRIPT. Since the following derivations are applicable at any given time, variable t𝑡titalic_t is omitted.

As illustrated in Section II-B, there are four possible routing directions in inter-satellite forwarding mode. Hence, there will be a minimum end-to-end hop-count in each of these four directions, and Hminsubscript𝐻minH_{\text{min}}italic_H start_POSTSUBSCRIPT min end_POSTSUBSCRIPT is the smallest one of these four values, which can be expressed as follows[33]

Hmin=min{Hh+Hv,Hh+Hv,Hh+Hv,Hh+Hv}.subscript𝐻minminsuperscriptsubscript𝐻superscriptsubscript𝐻𝑣absentsuperscriptsubscript𝐻superscriptsubscript𝐻𝑣absentsuperscriptsubscript𝐻superscriptsubscript𝐻𝑣absentsuperscriptsubscript𝐻superscriptsubscript𝐻𝑣absent\begin{split}H_{\text{min}}=\text{min}&\{H_{h}^{\rightarrow}+H_{v}^{% \rightarrow\uparrow},H_{h}^{\rightarrow}+H_{v}^{\rightarrow\downarrow},\\ &H_{h}^{\leftarrow}+H_{v}^{\leftarrow\uparrow},H_{h}^{\leftarrow}+H_{v}^{% \leftarrow\downarrow}\}.\end{split}start_ROW start_CELL italic_H start_POSTSUBSCRIPT min end_POSTSUBSCRIPT = min end_CELL start_CELL { italic_H start_POSTSUBSCRIPT italic_h end_POSTSUBSCRIPT start_POSTSUPERSCRIPT → end_POSTSUPERSCRIPT + italic_H start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT start_POSTSUPERSCRIPT → ↑ end_POSTSUPERSCRIPT , italic_H start_POSTSUBSCRIPT italic_h end_POSTSUBSCRIPT start_POSTSUPERSCRIPT → end_POSTSUPERSCRIPT + italic_H start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT start_POSTSUPERSCRIPT → ↓ end_POSTSUPERSCRIPT , end_CELL end_ROW start_ROW start_CELL end_CELL start_CELL italic_H start_POSTSUBSCRIPT italic_h end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ← end_POSTSUPERSCRIPT + italic_H start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ← ↑ end_POSTSUPERSCRIPT , italic_H start_POSTSUBSCRIPT italic_h end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ← end_POSTSUPERSCRIPT + italic_H start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ← ↓ end_POSTSUPERSCRIPT } . end_CELL end_ROW (10)

In equation (10), Hhsuperscriptsubscript𝐻H_{h}^{\rightarrow}italic_H start_POSTSUBSCRIPT italic_h end_POSTSUBSCRIPT start_POSTSUPERSCRIPT → end_POSTSUPERSCRIPT and Hhsuperscriptsubscript𝐻H_{h}^{\leftarrow}italic_H start_POSTSUBSCRIPT italic_h end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ← end_POSTSUPERSCRIPT denote the minimum forwarding hops required horizontally to the right and left, and Hvsuperscriptsubscript𝐻𝑣absentH_{v}^{\rightarrow\uparrow}italic_H start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT start_POSTSUPERSCRIPT → ↑ end_POSTSUPERSCRIPT and Hvsuperscriptsubscript𝐻𝑣absentH_{v}^{\rightarrow\downarrow}italic_H start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT start_POSTSUPERSCRIPT → ↓ end_POSTSUPERSCRIPT indicate the minimum hop-count required upward and downward when the routing direction is rightward in horizontal direction. Similarly, Hvsuperscriptsubscript𝐻𝑣absentH_{v}^{\leftarrow\uparrow}italic_H start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ← ↑ end_POSTSUPERSCRIPT and Hvsuperscriptsubscript𝐻𝑣absentH_{v}^{\leftarrow\downarrow}italic_H start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ← ↓ end_POSTSUPERSCRIPT signify the minimum hop-count required upward and downward when the routing direction is leftward in the horizontal. With regards to obtain Hminsubscript𝐻minH_{\text{min}}italic_H start_POSTSUBSCRIPT min end_POSTSUBSCRIPT, Hhsuperscriptsubscript𝐻H_{h}^{\rightarrow}italic_H start_POSTSUBSCRIPT italic_h end_POSTSUBSCRIPT start_POSTSUPERSCRIPT → end_POSTSUPERSCRIPT and Hhsuperscriptsubscript𝐻H_{h}^{\leftarrow}italic_H start_POSTSUBSCRIPT italic_h end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ← end_POSTSUPERSCRIPT are first calculated as follows

Hh=mod(N(Pn1Pn2),N),superscriptsubscript𝐻mod𝑁subscript𝑃𝑛1subscript𝑃𝑛2𝑁\displaystyle H_{h}^{\rightarrow}=\text{mod}\big{(}N-(P_{n1}-P_{n2}),N\big{)},italic_H start_POSTSUBSCRIPT italic_h end_POSTSUBSCRIPT start_POSTSUPERSCRIPT → end_POSTSUPERSCRIPT = mod ( italic_N - ( italic_P start_POSTSUBSCRIPT italic_n 1 end_POSTSUBSCRIPT - italic_P start_POSTSUBSCRIPT italic_n 2 end_POSTSUBSCRIPT ) , italic_N ) , (11a)
Hh=mod(N+(Pn1Pn2),N).superscriptsubscript𝐻mod𝑁subscript𝑃𝑛1subscript𝑃𝑛2𝑁\displaystyle H_{h}^{\leftarrow}=\text{mod}\big{(}N+(P_{n1}-P_{n2}),N\big{)}.italic_H start_POSTSUBSCRIPT italic_h end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ← end_POSTSUPERSCRIPT = mod ( italic_N + ( italic_P start_POSTSUBSCRIPT italic_n 1 end_POSTSUBSCRIPT - italic_P start_POSTSUBSCRIPT italic_n 2 end_POSTSUBSCRIPT ) , italic_N ) . (11b)

Second, (12) and (13) are functions describing the change in coordinate R𝑅Ritalic_R caused by the phase difference ΔfΔ𝑓\Delta froman_Δ italic_f when forwarding horizontally to the right and left, respectively.

(Hh,Rm1)={Rm1,HhΔf𝒰upper(𝒖m,t),mod(Rm1+HhΔf|𝒰upper(𝒖m,t)𝒖m,t|ΔΦ,M),HhΔf>𝒰upper(𝒖m,t).superscriptsubscript𝐻subscript𝑅𝑚1casessubscript𝑅𝑚1superscriptsubscript𝐻Δ𝑓subscript𝒰𝑢𝑝𝑝𝑒𝑟subscript𝒖𝑚𝑡modsubscript𝑅𝑚1superscriptsubscript𝐻Δ𝑓subscript𝒰𝑢𝑝𝑝𝑒𝑟subscript𝒖𝑚𝑡subscript𝒖𝑚𝑡ΔΦ𝑀superscriptsubscript𝐻Δ𝑓subscript𝒰𝑢𝑝𝑝𝑒𝑟subscript𝒖𝑚𝑡\mathbb{R}(H_{h}^{\rightarrow},R_{m1})=\begin{cases}R_{m1},&H_{h}^{\rightarrow% }\Delta f\leq\mathcal{U}_{upper}(\bm{u}_{m,t}),\\ \text{mod}\bigg{(}R_{m1}+\Big{\lceil}\frac{H_{h}^{\rightarrow}\Delta f-|% \mathcal{U}_{upper}(\bm{u}_{m,t})-\bm{u}_{m,t}|}{\Delta\Phi}\Big{\rceil},M% \bigg{)},&H_{h}^{\rightarrow}\Delta f>\mathcal{U}_{upper}(\bm{u}_{m,t}).\end{cases}blackboard_R ( italic_H start_POSTSUBSCRIPT italic_h end_POSTSUBSCRIPT start_POSTSUPERSCRIPT → end_POSTSUPERSCRIPT , italic_R start_POSTSUBSCRIPT italic_m 1 end_POSTSUBSCRIPT ) = { start_ROW start_CELL italic_R start_POSTSUBSCRIPT italic_m 1 end_POSTSUBSCRIPT , end_CELL start_CELL italic_H start_POSTSUBSCRIPT italic_h end_POSTSUBSCRIPT start_POSTSUPERSCRIPT → end_POSTSUPERSCRIPT roman_Δ italic_f ≤ caligraphic_U start_POSTSUBSCRIPT italic_u italic_p italic_p italic_e italic_r end_POSTSUBSCRIPT ( bold_italic_u start_POSTSUBSCRIPT italic_m , italic_t end_POSTSUBSCRIPT ) , end_CELL end_ROW start_ROW start_CELL mod ( italic_R start_POSTSUBSCRIPT italic_m 1 end_POSTSUBSCRIPT + ⌈ divide start_ARG italic_H start_POSTSUBSCRIPT italic_h end_POSTSUBSCRIPT start_POSTSUPERSCRIPT → end_POSTSUPERSCRIPT roman_Δ italic_f - | caligraphic_U start_POSTSUBSCRIPT italic_u italic_p italic_p italic_e italic_r end_POSTSUBSCRIPT ( bold_italic_u start_POSTSUBSCRIPT italic_m , italic_t end_POSTSUBSCRIPT ) - bold_italic_u start_POSTSUBSCRIPT italic_m , italic_t end_POSTSUBSCRIPT | end_ARG start_ARG roman_Δ roman_Φ end_ARG ⌉ , italic_M ) , end_CELL start_CELL italic_H start_POSTSUBSCRIPT italic_h end_POSTSUBSCRIPT start_POSTSUPERSCRIPT → end_POSTSUPERSCRIPT roman_Δ italic_f > caligraphic_U start_POSTSUBSCRIPT italic_u italic_p italic_p italic_e italic_r end_POSTSUBSCRIPT ( bold_italic_u start_POSTSUBSCRIPT italic_m , italic_t end_POSTSUBSCRIPT ) . end_CELL end_ROW (12)
(Hh,Rm1)={Rm1,HhΔf𝒰lower(𝒖m,t),mod(Rm1+HhΔf|𝒰lower(𝒖m,t)𝒖m,t|ΔΦ,M),HhΔf>𝒰lower(𝒖m,t).superscriptsubscript𝐻subscript𝑅𝑚1casessubscript𝑅𝑚1superscriptsubscript𝐻Δ𝑓subscript𝒰𝑙𝑜𝑤𝑒𝑟subscript𝒖𝑚𝑡modsubscript𝑅𝑚1superscriptsubscript𝐻Δ𝑓subscript𝒰𝑙𝑜𝑤𝑒𝑟subscript𝒖𝑚𝑡subscript𝒖𝑚𝑡ΔΦ𝑀superscriptsubscript𝐻Δ𝑓subscript𝒰𝑙𝑜𝑤𝑒𝑟subscript𝒖𝑚𝑡\mathbb{R}(H_{h}^{\leftarrow},R_{m1})=\begin{cases}R_{m1},&H_{h}^{\leftarrow}% \Delta f\leq\mathcal{U}_{lower}(\bm{u}_{m,t}),\\ \text{mod}\bigg{(}R_{m1}+\Big{\lceil}\frac{H_{h}^{\leftarrow}\Delta f-|% \mathcal{U}_{lower}(\bm{u}_{m,t})-\bm{u}_{m,t}|}{\Delta\Phi}\Big{\rceil},M% \bigg{)},&H_{h}^{\leftarrow}\Delta f>\mathcal{U}_{lower}(\bm{u}_{m,t}).\end{cases}blackboard_R ( italic_H start_POSTSUBSCRIPT italic_h end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ← end_POSTSUPERSCRIPT , italic_R start_POSTSUBSCRIPT italic_m 1 end_POSTSUBSCRIPT ) = { start_ROW start_CELL italic_R start_POSTSUBSCRIPT italic_m 1 end_POSTSUBSCRIPT , end_CELL start_CELL italic_H start_POSTSUBSCRIPT italic_h end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ← end_POSTSUPERSCRIPT roman_Δ italic_f ≤ caligraphic_U start_POSTSUBSCRIPT italic_l italic_o italic_w italic_e italic_r end_POSTSUBSCRIPT ( bold_italic_u start_POSTSUBSCRIPT italic_m , italic_t end_POSTSUBSCRIPT ) , end_CELL end_ROW start_ROW start_CELL mod ( italic_R start_POSTSUBSCRIPT italic_m 1 end_POSTSUBSCRIPT + ⌈ divide start_ARG italic_H start_POSTSUBSCRIPT italic_h end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ← end_POSTSUPERSCRIPT roman_Δ italic_f - | caligraphic_U start_POSTSUBSCRIPT italic_l italic_o italic_w italic_e italic_r end_POSTSUBSCRIPT ( bold_italic_u start_POSTSUBSCRIPT italic_m , italic_t end_POSTSUBSCRIPT ) - bold_italic_u start_POSTSUBSCRIPT italic_m , italic_t end_POSTSUBSCRIPT | end_ARG start_ARG roman_Δ roman_Φ end_ARG ⌉ , italic_M ) , end_CELL start_CELL italic_H start_POSTSUBSCRIPT italic_h end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ← end_POSTSUPERSCRIPT roman_Δ italic_f > caligraphic_U start_POSTSUBSCRIPT italic_l italic_o italic_w italic_e italic_r end_POSTSUBSCRIPT ( bold_italic_u start_POSTSUBSCRIPT italic_m , italic_t end_POSTSUBSCRIPT ) . end_CELL end_ROW (13)

Substituting (12) and (13) into (14a) results in Hvsuperscriptsubscript𝐻𝑣absentH_{v}^{\rightarrow\uparrow}italic_H start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT start_POSTSUPERSCRIPT → ↑ end_POSTSUPERSCRIPT and Hvsuperscriptsubscript𝐻𝑣absentH_{v}^{\leftarrow\uparrow}italic_H start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ← ↑ end_POSTSUPERSCRIPT. In a similar way, substituting these two equations into (14b) yields Hvsuperscriptsubscript𝐻𝑣absentH_{v}^{\rightarrow\downarrow}italic_H start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT start_POSTSUPERSCRIPT → ↓ end_POSTSUPERSCRIPT and Hvsuperscriptsubscript𝐻𝑣absentH_{v}^{\leftarrow\downarrow}italic_H start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ← ↓ end_POSTSUPERSCRIPT.

Hv=mod(M+(Rm2(Hh,Rm1)),M),superscriptsubscript𝐻𝑣mod𝑀subscript𝑅𝑚2subscript𝐻subscript𝑅𝑚1𝑀\displaystyle H_{v}^{\uparrow}=\text{mod}\big{(}M+\big{(}R_{m2}-\mathbb{R}(H_{% h},R_{m1})\big{)},M\Big{)},italic_H start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ↑ end_POSTSUPERSCRIPT = mod ( italic_M + ( italic_R start_POSTSUBSCRIPT italic_m 2 end_POSTSUBSCRIPT - blackboard_R ( italic_H start_POSTSUBSCRIPT italic_h end_POSTSUBSCRIPT , italic_R start_POSTSUBSCRIPT italic_m 1 end_POSTSUBSCRIPT ) ) , italic_M ) , (14a)
Hv=mod(M(Rm2(Hh,Rm1)),M).superscriptsubscript𝐻𝑣mod𝑀subscript𝑅𝑚2subscript𝐻subscript𝑅𝑚1𝑀\displaystyle H_{v}^{\downarrow}=\text{mod}\big{(}M-\big{(}R_{m2}-\mathbb{R}(H% _{h},R_{m1})\big{)},M\Big{)}.italic_H start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ↓ end_POSTSUPERSCRIPT = mod ( italic_M - ( italic_R start_POSTSUBSCRIPT italic_m 2 end_POSTSUBSCRIPT - blackboard_R ( italic_H start_POSTSUBSCRIPT italic_h end_POSTSUBSCRIPT , italic_R start_POSTSUBSCRIPT italic_m 1 end_POSTSUBSCRIPT ) ) , italic_M ) . (14b)

Finally, based on derivations above, the minimum end-to-end hop-count Hminsubscript𝐻minH_{\text{min}}italic_H start_POSTSUBSCRIPT min end_POSTSUBSCRIPT and the corresponding routing direction for inter-satellite forwarding mode can be obtained according to (10), and the calculation process is summarized in Algorithm 1, which exhibits O(1)𝑂1O(1)italic_O ( 1 ) complexity.

1:The ephemeris information dataset
2:Hminsubscript𝐻𝑚𝑖𝑛H_{min}italic_H start_POSTSUBSCRIPT italic_m italic_i italic_n end_POSTSUBSCRIPT
3:Initialize (Pn1,t,Rm1,t)subscript𝑃𝑛1𝑡subscript𝑅𝑚1𝑡(P_{n1,t},R_{m1,t})( italic_P start_POSTSUBSCRIPT italic_n 1 , italic_t end_POSTSUBSCRIPT , italic_R start_POSTSUBSCRIPT italic_m 1 , italic_t end_POSTSUBSCRIPT ) and (Pn2,t,Rm2,t)subscript𝑃𝑛2𝑡subscript𝑅𝑚2𝑡(P_{n2,t},R_{m2,t})( italic_P start_POSTSUBSCRIPT italic_n 2 , italic_t end_POSTSUBSCRIPT , italic_R start_POSTSUBSCRIPT italic_m 2 , italic_t end_POSTSUBSCRIPT ) using ephemeris information;
4:Calculate Hhsubscript𝐻H_{h}italic_H start_POSTSUBSCRIPT italic_h end_POSTSUBSCRIPT using (11a) and (11b);
5:Evaluate Hvsubscript𝐻𝑣H_{v}italic_H start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT using (12), (13) and (14a), (14b);
6:Compute Hminsubscript𝐻𝑚𝑖𝑛H_{min}italic_H start_POSTSUBSCRIPT italic_m italic_i italic_n end_POSTSUBSCRIPT based on (10).
Algorithm 1 Minimum Hop-Count Estimation Method for Inter-Satellite Forwarding Mode

IV-B Minimum Hop-Count Estimation for Satellite-Terrestrial Cooperative Forwarding Mode

When one user accesses any satellite, this satellite is going to estimate the minimum end-to-end hop-count for these packets, and the estimation results will provide a minimum hop-count constraint for subsequent satellite-terrestrial cooperative routing. To realize this estimation, it is first necessary to periodically generate the key node based graph KNBG in every satellite, where key nodes refer to all satellite gateways. The generation process of KNBG can be divided into two steps, which contain key node extraction and weighted edge generation. Due to satellite movement, satellite gateways in the system are not fixed, and thus KNBG face frequent regenerations. Therefore, we fully design above two steps to ensure the low complexity regeneration of KNBG. Next, taking KNBG as input, Dijkstra is executed to estimate the minimum end-to-end hop-count. We refer to the method formed by above three steps as KNBG-MHCE, and a more comprehensive symbol description is provided in Section II-B.

IV-B1 Key Nodes Extraction

The first step in generating KNBG is to extract all key nodes in RTPG and get their coordinates (Pn,Rm)subscript𝑃𝑛subscript𝑅𝑚(P_{n},R_{m})( italic_P start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT , italic_R start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ). Since KNBG is regenerated frequently, how one satellite node obtains the coordinates of all key nodes with low complexity is the key to design. In fact, satellite gateways are located within the elevation range of ground relays, and all satellite gateways belonging to GRk𝐺subscript𝑅𝑘GR_{k}italic_G italic_R start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT will be located within a circular area centered around GRk𝐺subscript𝑅𝑘GR_{k}italic_G italic_R start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT with rssubscript𝑟𝑠r_{s}italic_r start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT as radius. We define this circular area as search range. If the earth radius is resubscript𝑟𝑒r_{e}italic_r start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT and the minimum elevation angle of satellite is θ𝜃\thetaitalic_θ, rssubscript𝑟𝑠r_{s}italic_r start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT can be calculated as rs=reβsubscript𝑟𝑠subscript𝑟𝑒𝛽r_{s}=r_{e}\cdot\betaitalic_r start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT = italic_r start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT ⋅ italic_β, where

β=π2θγ,γ=arcsinresin(θ+π2)h+re.formulae-sequence𝛽𝜋2𝜃𝛾𝛾arcsinsubscript𝑟𝑒sin𝜃𝜋2subscript𝑟𝑒\beta=\frac{\pi}{2}-\theta-\gamma,\quad\gamma=\text{arcsin}\frac{r_{e}\cdot% \text{sin}(\theta+\frac{\pi}{2})}{h+r_{e}}.italic_β = divide start_ARG italic_π end_ARG start_ARG 2 end_ARG - italic_θ - italic_γ , italic_γ = arcsin divide start_ARG italic_r start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT ⋅ sin ( italic_θ + divide start_ARG italic_π end_ARG start_ARG 2 end_ARG ) end_ARG start_ARG italic_h + italic_r start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT end_ARG . (15)

In traditional approach, to extract all key nodes in system, we need to calculate the elevation angle between ground relay GRk𝐺subscript𝑅𝑘GR_{k}italic_G italic_R start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT and all satellites. If the elevation angle between one satellite and GRk𝐺subscript𝑅𝑘GR_{k}italic_G italic_R start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT is bigger than the minimum elevation angle, this satellite becomes satellite gateway belonging to GRk𝐺subscript𝑅𝑘GR_{k}italic_G italic_R start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT. When there are S𝑆Sitalic_S satellites and K𝐾Kitalic_K ground relays in the system, traditional approach requires a total of KS𝐾𝑆KSitalic_K italic_S computations. Since the coordinates of one satellite in RTPG can indicate which geographic region it is in, we can use this information to reduce the computational complexity of searching for key nodes. As shown in Fig. 5, we can first equate GRk𝐺subscript𝑅𝑘GR_{k}italic_G italic_R start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT and its search range as node GRk𝐺superscriptsubscript𝑅𝑘GR_{k}^{*}italic_G italic_R start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT and area ksuperscriptsubscript𝑘\mathcal{R}_{k}^{*}caligraphic_R start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT in RTPG, respectively. After that, by searching for satellites within ksuperscriptsubscript𝑘\mathcal{R}_{k}^{*}caligraphic_R start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT that satisfy the elevation requirements, all satellite gateway SGk,i𝑆subscript𝐺𝑘𝑖SG_{k,i}italic_S italic_G start_POSTSUBSCRIPT italic_k , italic_i end_POSTSUBSCRIPT belonging to GRk𝐺subscript𝑅𝑘GR_{k}italic_G italic_R start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT can be obtained without the need to traverse entire constellation. It’s worth noting that GRk𝐺superscriptsubscript𝑅𝑘GR_{k}^{*}italic_G italic_R start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT has a coordinate (PGRk,RGRk)subscript𝑃𝐺superscriptsubscript𝑅𝑘subscript𝑅𝐺superscriptsubscript𝑅𝑘(P_{GR_{k}^{*}},R_{GR_{k}^{*}})( italic_P start_POSTSUBSCRIPT italic_G italic_R start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT , italic_R start_POSTSUBSCRIPT italic_G italic_R start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT ) just like the satellite nodes in RTPG, and ksuperscriptsubscript𝑘\mathcal{R}_{k}^{*}caligraphic_R start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT is a rectangular area formed by several original regions in RTPG.

We realize the above equivalence in two steps. First the coordinates of GRk𝐺superscriptsubscript𝑅𝑘GR_{k}^{*}italic_G italic_R start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT are determined by (6) and (7). It should be emphasized that according to (3), there are two cases for the phase of GRk𝐺superscriptsubscript𝑅𝑘GR_{k}^{*}italic_G italic_R start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT, and therefore there will be two coordinates of GRk𝐺superscriptsubscript𝑅𝑘GR_{k}^{*}italic_G italic_R start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT. The reason for this phenomenon is that any ground relay node will be covered by both ascending and descending satellites. Consequently, GRk𝐺superscriptsubscript𝑅𝑘GR_{k}^{*}italic_G italic_R start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT at different coordinates will search for satellite gateways in different moving direction. In the following, we denote the two coordinates of GRk𝐺superscriptsubscript𝑅𝑘GR_{k}^{*}italic_G italic_R start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT as (PGRkA,RGRkA)subscript𝑃𝐺superscriptsubscript𝑅𝑘𝐴subscript𝑅𝐺superscriptsubscript𝑅𝑘𝐴(P_{GR_{k}^{A*}},R_{GR_{k}^{A*}})( italic_P start_POSTSUBSCRIPT italic_G italic_R start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_A ∗ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT , italic_R start_POSTSUBSCRIPT italic_G italic_R start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_A ∗ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT ) and (PGRkD,RGRkD)subscript𝑃𝐺superscriptsubscript𝑅𝑘𝐷subscript𝑅𝐺superscriptsubscript𝑅𝑘𝐷(P_{GR_{k}^{D*}},R_{GR_{k}^{D*}})( italic_P start_POSTSUBSCRIPT italic_G italic_R start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_D ∗ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT , italic_R start_POSTSUBSCRIPT italic_G italic_R start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_D ∗ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT ) respectively. Second, we derive the number of original regions occupied by ksuperscriptsubscript𝑘\mathcal{R}_{k}^{*}caligraphic_R start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT in the horizontal and vertical directions, which are denoted by ΔPΔ𝑃\Delta Proman_Δ italic_P and ΔRΔ𝑅\Delta Rroman_Δ italic_R. In the horizontal direction, since the widths of original regions in RTPG are all ΔΩΔΩ\Delta\Omegaroman_Δ roman_Ω, ΔPΔ𝑃\Delta Proman_Δ italic_P is calculated as

ΔP=2180rsπrecos(φGRk)ΔΩ.Δ𝑃2180subscript𝑟𝑠𝜋subscript𝑟𝑒cossubscript𝜑𝐺subscript𝑅𝑘ΔΩ\begin{split}\Delta P=2\cdot\big{\lceil}\frac{180\cdot r_{s}}{\pi\cdot r_{e}% \text{cos}(\varphi_{GR_{k}})\Delta\Omega}\big{\rceil}.\end{split}start_ROW start_CELL roman_Δ italic_P = 2 ⋅ ⌈ divide start_ARG 180 ⋅ italic_r start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT end_ARG start_ARG italic_π ⋅ italic_r start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT cos ( italic_φ start_POSTSUBSCRIPT italic_G italic_R start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUBSCRIPT ) roman_Δ roman_Ω end_ARG ⌉ . end_CELL end_ROW (16)

On the other hand, as described in Section III-B, the original regions in RTPG have uneven heights in the vertical direction. In order to obtain a concise expression for ΔRΔ𝑅\Delta Rroman_Δ italic_R, we assume that the heights of original region in RTPG are all ΔhminΔsubscript𝑚𝑖𝑛\Delta h_{min}roman_Δ italic_h start_POSTSUBSCRIPT italic_m italic_i italic_n end_POSTSUBSCRIPT. Therefore, the number of original regions occupied by ksuperscriptsubscript𝑘\mathcal{R}_{k}^{*}caligraphic_R start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT in vertical direction is given by

ΔR=2180rsπreΔhmin.Δ𝑅2180subscript𝑟𝑠𝜋subscript𝑟𝑒Δsubscript𝑚𝑖𝑛\Delta R=2\cdot\big{\lceil}\frac{180\cdot r_{s}}{\pi\cdot r_{e}\cdot\Delta h_{% min}}\big{\rceil}.roman_Δ italic_R = 2 ⋅ ⌈ divide start_ARG 180 ⋅ italic_r start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT end_ARG start_ARG italic_π ⋅ italic_r start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT ⋅ roman_Δ italic_h start_POSTSUBSCRIPT italic_m italic_i italic_n end_POSTSUBSCRIPT end_ARG ⌉ . (17)

ΔhminΔsubscript𝑚𝑖𝑛\Delta h_{min}roman_Δ italic_h start_POSTSUBSCRIPT italic_m italic_i italic_n end_POSTSUBSCRIPT in (17) refers to the minimum value of the height of all regions in RTPG. To derive ΔhminΔsubscript𝑚𝑖𝑛\Delta h_{min}roman_Δ italic_h start_POSTSUBSCRIPT italic_m italic_i italic_n end_POSTSUBSCRIPT, the height of region Rmsubscript𝑅𝑚R_{m}italic_R start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT in RTPG is first defined as follows

Δh=|fRmφ(Rm+1)fRmφ(Rm)|.Δsubscript𝑓subscript𝑅𝑚𝜑subscript𝑅𝑚1subscript𝑓subscript𝑅𝑚𝜑subscript𝑅𝑚\Delta h=\big{|}f_{R_{m}\rightarrow\varphi}(R_{m}+1)-f_{R_{m}\rightarrow% \varphi}(R_{m})\big{|}.roman_Δ italic_h = | italic_f start_POSTSUBSCRIPT italic_R start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT → italic_φ end_POSTSUBSCRIPT ( italic_R start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT + 1 ) - italic_f start_POSTSUBSCRIPT italic_R start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT → italic_φ end_POSTSUBSCRIPT ( italic_R start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ) | . (18)

fRmφ(Rm+1)subscript𝑓subscript𝑅𝑚𝜑subscript𝑅𝑚1f_{R_{m}\rightarrow\varphi}(R_{m}+1)italic_f start_POSTSUBSCRIPT italic_R start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT → italic_φ end_POSTSUBSCRIPT ( italic_R start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT + 1 ) and fRmφ(Rm)subscript𝑓subscript𝑅𝑚𝜑subscript𝑅𝑚f_{R_{m}\rightarrow\varphi}(R_{m})italic_f start_POSTSUBSCRIPT italic_R start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT → italic_φ end_POSTSUBSCRIPT ( italic_R start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ) in (18) represent the latitudes corresponding to the upper and lower boundaries of region Rmsubscript𝑅𝑚R_{m}italic_R start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT in vertical direction, which can be written uniformly as

fRmφ(r)=arcsin(sin(α)sin(π22πM(Mr))),subscript𝑓subscript𝑅𝑚𝜑𝑟arcsinsin𝛼sin𝜋22𝜋𝑀𝑀𝑟f_{R_{m}\rightarrow\varphi}(r)=\text{arcsin}\big{(}\text{sin}(\alpha)\text{sin% }\big{(}\frac{\pi}{2}-\frac{2\pi}{M}\cdot(M-r)\big{)}\big{)},italic_f start_POSTSUBSCRIPT italic_R start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT → italic_φ end_POSTSUBSCRIPT ( italic_r ) = arcsin ( sin ( italic_α ) sin ( divide start_ARG italic_π end_ARG start_ARG 2 end_ARG - divide start_ARG 2 italic_π end_ARG start_ARG italic_M end_ARG ⋅ ( italic_M - italic_r ) ) ) , (19)

where r=0,1,M𝑟01𝑀r=0,1,\dots Mitalic_r = 0 , 1 , … italic_M. By taking the derivative of (19), we can obtain

fRmφ(r)=2πMsin(α)cos(π22πM(Mr))1sin2(α)cos2(2πM(Mr)).subscript𝑓subscript𝑅𝑚𝜑𝑟2𝜋𝑀sin𝛼cos𝜋22𝜋𝑀𝑀𝑟1superscriptsin2𝛼superscriptcos22𝜋𝑀𝑀𝑟\triangledown f_{R_{m}\rightarrow\varphi}(r)=\frac{\frac{2\pi}{M}\text{sin}(% \alpha)\text{cos}(\frac{\pi}{2}-\frac{2\pi}{M}\cdot(M-r))}{\sqrt{1-\text{sin}^% {2}(\alpha)\text{cos}^{2}(\frac{2\pi}{M}\cdot(M-r))}}.▽ italic_f start_POSTSUBSCRIPT italic_R start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT → italic_φ end_POSTSUBSCRIPT ( italic_r ) = divide start_ARG divide start_ARG 2 italic_π end_ARG start_ARG italic_M end_ARG sin ( italic_α ) cos ( divide start_ARG italic_π end_ARG start_ARG 2 end_ARG - divide start_ARG 2 italic_π end_ARG start_ARG italic_M end_ARG ⋅ ( italic_M - italic_r ) ) end_ARG start_ARG square-root start_ARG 1 - sin start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ( italic_α ) cos start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ( divide start_ARG 2 italic_π end_ARG start_ARG italic_M end_ARG ⋅ ( italic_M - italic_r ) ) end_ARG end_ARG . (20)

Since the minimum value of (20) is taken at r=0𝑟0r=0italic_r = 0, ΔhminΔsubscript𝑚𝑖𝑛\Delta h_{min}roman_Δ italic_h start_POSTSUBSCRIPT italic_m italic_i italic_n end_POSTSUBSCRIPT is also achieved at r=0𝑟0r=0italic_r = 0, which is calculated as

hmin=αarcsin(sin(α)sin(π22πM(M1))).subscript𝑚𝑖𝑛𝛼arcsinsin𝛼sin𝜋22𝜋𝑀𝑀1h_{min}=\alpha-\text{arcsin}\big{(}\text{sin}(\alpha)\text{sin}\big{(}\frac{% \pi}{2}-\frac{2\pi}{M}\cdot(M-1)\big{)}\big{)}.italic_h start_POSTSUBSCRIPT italic_m italic_i italic_n end_POSTSUBSCRIPT = italic_α - arcsin ( sin ( italic_α ) sin ( divide start_ARG italic_π end_ARG start_ARG 2 end_ARG - divide start_ARG 2 italic_π end_ARG start_ARG italic_M end_ARG ⋅ ( italic_M - 1 ) ) ) . (21)

Substituting (21) into (17), and utilizing (16) and (17) to calculate ΔPΔ𝑃\Delta Proman_Δ italic_P and ΔRΔ𝑅\Delta Rroman_Δ italic_R, we can obtain the coordinates of original regions in RTPG covered by ksuperscriptsubscript𝑘\mathcal{R}_{k}^{*}caligraphic_R start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT. The range of horizontal and vertical coordinates of these regions are expressed as (22) and (23), respectively. By searching regions within (22) and (23), all key nodes can be extracted, and the number of computations will be much smaller than the traditional approach.

{[mod(PGRkAΔP2+N,N),mod(PGRkA+ΔP2,N)],search for ascending satellite gateways,[mod(PGRkDΔP2+N,N),mod(PGRkD+ΔP2,N)],search for descending satellite gateways.casesmodsubscript𝑃𝐺superscriptsubscript𝑅𝑘𝐴Δ𝑃2𝑁𝑁modsubscript𝑃𝐺superscriptsubscript𝑅𝑘𝐴Δ𝑃2𝑁search for ascending satellite gateways,modsubscript𝑃𝐺superscriptsubscript𝑅𝑘𝐷Δ𝑃2𝑁𝑁modsubscript𝑃𝐺superscriptsubscript𝑅𝑘𝐷Δ𝑃2𝑁search for descending satellite gateways.\begin{cases}\big{[}\text{mod}\big{(}P_{GR_{k}^{A*}}-\frac{\Delta P}{2}+N,N% \big{)},\text{mod}\big{(}P_{GR_{k}^{A*}}+\frac{\Delta P}{2},N\big{)}\big{]},&{% \text{search for ascending satellite gateways,}}\\ \big{[}\text{mod}\big{(}P_{GR_{k}^{D*}}-\frac{\Delta P}{2}+N,N\big{)},\text{% mod}\big{(}P_{GR_{k}^{D*}}+\frac{\Delta P}{2},N\big{)}\big{]},&{\text{search % for descending satellite gateways.}}\\ \end{cases}{ start_ROW start_CELL [ mod ( italic_P start_POSTSUBSCRIPT italic_G italic_R start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_A ∗ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT - divide start_ARG roman_Δ italic_P end_ARG start_ARG 2 end_ARG + italic_N , italic_N ) , mod ( italic_P start_POSTSUBSCRIPT italic_G italic_R start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_A ∗ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT + divide start_ARG roman_Δ italic_P end_ARG start_ARG 2 end_ARG , italic_N ) ] , end_CELL start_CELL search for ascending satellite gateways, end_CELL end_ROW start_ROW start_CELL [ mod ( italic_P start_POSTSUBSCRIPT italic_G italic_R start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_D ∗ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT - divide start_ARG roman_Δ italic_P end_ARG start_ARG 2 end_ARG + italic_N , italic_N ) , mod ( italic_P start_POSTSUBSCRIPT italic_G italic_R start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_D ∗ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT + divide start_ARG roman_Δ italic_P end_ARG start_ARG 2 end_ARG , italic_N ) ] , end_CELL start_CELL search for descending satellite gateways. end_CELL end_ROW (22)
[mod(RGRkΔR2+M,M),mod(RGRk+ΔR2,M)],search for ascending and descending satellite gateways.modsubscript𝑅𝐺superscriptsubscript𝑅𝑘Δ𝑅2𝑀𝑀modsubscript𝑅𝐺superscriptsubscript𝑅𝑘Δ𝑅2𝑀search for ascending and descending satellite gateways.\Big{[}\text{mod}\big{(}R_{GR_{k}^{*}}-\frac{\Delta R}{2}+M,M\big{)},\text{mod% }\big{(}R_{GR_{k}^{*}}+\frac{\Delta R}{2},M\big{)}\Big{]},\text{search for % ascending and descending satellite gateways.}[ mod ( italic_R start_POSTSUBSCRIPT italic_G italic_R start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT - divide start_ARG roman_Δ italic_R end_ARG start_ARG 2 end_ARG + italic_M , italic_M ) , mod ( italic_R start_POSTSUBSCRIPT italic_G italic_R start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT + divide start_ARG roman_Δ italic_R end_ARG start_ARG 2 end_ARG , italic_M ) ] , search for ascending and descending satellite gateways. (23)
Refer to caption
Figure 5: Search area ksuperscriptsubscript𝑘\mathcal{R}_{k}^{*}caligraphic_R start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT and equivalent node GRk𝐺superscriptsubscript𝑅𝑘GR_{k}^{*}italic_G italic_R start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT in RTPG model.

IV-B2 Weighted Edge Generation

For practical implementation, we define a unique ID for each satellite. Satellite m𝑚mitalic_m in orbit n𝑛nitalic_n will be denoted as nisubscript𝑛𝑖n_{i}italic_n start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT, where i𝑖iitalic_i is the satellite ID calculated by i=(n1)×M+m𝑖𝑛1𝑀𝑚i=(n-1)\times M+mitalic_i = ( italic_n - 1 ) × italic_M + italic_m. Moreover, the weight of an edge between a pair of key nodes is defined as wi,jsubscript𝑤𝑖𝑗w_{i,j}italic_w start_POSTSUBSCRIPT italic_i , italic_j end_POSTSUBSCRIPT, which is the minimum hop-count between them and can be calculated as follows.

  • wi,j=2subscript𝑤𝑖𝑗2w_{i,j}=2italic_w start_POSTSUBSCRIPT italic_i , italic_j end_POSTSUBSCRIPT = 2: nisubscript𝑛𝑖n_{i}italic_n start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT and njsubscript𝑛𝑗n_{j}italic_n start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT are satellite gateways belonging to the same ground relay GRk𝐺subscript𝑅𝑘GR_{k}italic_G italic_R start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT

  • wi,j=Hminsubscript𝑤𝑖𝑗subscript𝐻𝑚𝑖𝑛w_{i,j}=H_{min}italic_w start_POSTSUBSCRIPT italic_i , italic_j end_POSTSUBSCRIPT = italic_H start_POSTSUBSCRIPT italic_m italic_i italic_n end_POSTSUBSCRIPT: nisubscript𝑛𝑖n_{i}italic_n start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT and njsubscript𝑛𝑗n_{j}italic_n start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT are satellite gateways belonging to the same ground relay GRk𝐺subscript𝑅𝑘GR_{k}italic_G italic_R start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT, but Hminsubscript𝐻minH_{\text{min}}italic_H start_POSTSUBSCRIPT min end_POSTSUBSCRIPT calculated by Algorithm 1 is smaller than 2. Or nisubscript𝑛𝑖n_{i}italic_n start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT and njsubscript𝑛𝑗n_{j}italic_n start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT are not satellite gateways belonging to the same GRk𝐺subscript𝑅𝑘GR_{k}italic_G italic_R start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT.

IV-B3 Dijkstra with KNBG as Input

When one satellite provides access service to users, it becomes source satellite Scsubscript𝑆𝑐S_{c}italic_S start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT. Next, nodes ncsubscript𝑛𝑐n_{c}italic_n start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT, ndsubscript𝑛𝑑n_{d}italic_n start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT corresponding to Scsubscript𝑆𝑐S_{c}italic_S start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT, Sdsubscript𝑆𝑑S_{d}italic_S start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT are added to KNBG and the weighted edges between ncsubscript𝑛𝑐n_{c}italic_n start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT, ndsubscript𝑛𝑑n_{d}italic_n start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT and other key nodes within KNBG are generated following the aforementioned weighted edge generation method. Finally, the minimum hop-count can be estimated by running Dijkstra with current KNBG as input, and the entire KNBG-MHCE method is demonstrated in Algorithm 2.

1:all IDs of key nodes on the end-to-end routing path, and the path information between neighboring nodes.
2:if mod (t,T)=0𝑡𝑇0(t,T)=0( italic_t , italic_T ) = 0 then \triangleright Executed on every satellite
3:     Initialize KN=[]𝐾𝑁KN=[\;]italic_K italic_N = [ ] to store the IDs of all key nodes.
4:     for k=1:K:𝑘1𝐾k=1:Kitalic_k = 1 : italic_K do
5:         for Satellite(p,r)𝑆𝑎𝑡𝑒𝑙𝑙𝑖𝑡𝑒𝑝𝑟Satellite(p,r)italic_S italic_a italic_t italic_e italic_l italic_l italic_i italic_t italic_e ( italic_p , italic_r ) in (22) and (23do
6:              if the elevation angle between Satellite(p,r)𝑆𝑎𝑡𝑒𝑙𝑙𝑖𝑡𝑒𝑝𝑟Satellite(p,r)italic_S italic_a italic_t italic_e italic_l italic_l italic_i italic_t italic_e ( italic_p , italic_r ) and GRk𝐺subscript𝑅𝑘GR_{k}italic_G italic_R start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT meets the elevation constraint then
7:                  KN=[KN;the ID of satellite(p,r)]𝐾𝑁𝐾𝑁the ID of 𝑠𝑎𝑡𝑒𝑙𝑙𝑖𝑡𝑒𝑝𝑟KN=[KN;\text{the ID of }satellite(p,r)]italic_K italic_N = [ italic_K italic_N ; the ID of italic_s italic_a italic_t italic_e italic_l italic_l italic_i italic_t italic_e ( italic_p , italic_r ) ]
8:              end if
9:         end for
10:     end for
11:     Initialize w=[]𝑤w=[\;]italic_w = [ ] to store the weights wijsubscript𝑤𝑖𝑗w_{ij}italic_w start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT
12:     for i=1:length(KN):𝑖1length𝐾𝑁i=1:\text{length}(KN)italic_i = 1 : length ( italic_K italic_N ) do
13:         for j=1:length(KN):𝑗1length𝐾𝑁j=1:\text{length}(KN)italic_j = 1 : length ( italic_K italic_N ) do
14:              Calculate wi,jsubscript𝑤𝑖𝑗w_{i,j}italic_w start_POSTSUBSCRIPT italic_i , italic_j end_POSTSUBSCRIPT, and store it in w=[w;wi,j]𝑤𝑤subscript𝑤𝑖𝑗w=[w;w_{i,j}]italic_w = [ italic_w ; italic_w start_POSTSUBSCRIPT italic_i , italic_j end_POSTSUBSCRIPT ]
15:         end for
16:     end for
17:     Generate KNBG every T𝑇Titalic_T period based on KN𝐾𝑁KNitalic_K italic_N and w𝑤witalic_w
18:end if
19:if one user accesses this satellite and its destination is Sdsubscript𝑆𝑑S_{d}italic_S start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT then
20:     KN=[the ID of Sc;the ID of Sd]𝐾superscript𝑁the ID of subscript𝑆𝑐the ID of subscript𝑆𝑑KN^{*}=[\text{the ID of }S_{c};\text{the ID of }S_{d}]italic_K italic_N start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT = [ the ID of italic_S start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT ; the ID of italic_S start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT ]
21:     Initialize w=[]superscript𝑤w^{*}=[\;]italic_w start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT = [ ] to store the weights wijsubscriptsuperscript𝑤𝑖𝑗w^{*}_{ij}italic_w start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT
22:     for i=1:length(KN):𝑖1length𝐾𝑁i=1:\text{length}(KN)italic_i = 1 : length ( italic_K italic_N ) do
23:         for j=1:length(KN):𝑗1length𝐾superscript𝑁j=1:\text{length}(KN^{*})italic_j = 1 : length ( italic_K italic_N start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT ) do
24:              calculate wi,jsubscriptsuperscript𝑤𝑖𝑗w^{*}_{i,j}italic_w start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i , italic_j end_POSTSUBSCRIPT, and store it in w=[w;wi,j]superscript𝑤superscript𝑤subscriptsuperscript𝑤𝑖𝑗w^{*}=[w^{*};w^{*}_{i,j}]italic_w start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT = [ italic_w start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT ; italic_w start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i , italic_j end_POSTSUBSCRIPT ]
25:         end for
26:     end for
27:     Add KN𝐾superscript𝑁KN^{*}italic_K italic_N start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT and wsuperscript𝑤w^{*}italic_w start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT to update KNBG, then run Dijkstra with KNBG as input
28:end if
Algorithm 2 KNBG-MHCE Method

V Minimum Hop-Count Based Routing Strategy for Satellite-Terrestrial Cooperative Routing

The results of KNBG-MHCE include all IDs of key nodes on the end-to-end routing path and the path information between neighboring nodes. In fact, the end-to-end routing path is divided into multiple segments by key nodes, if the path between two neighboring nodes is an inter-satellite routing path, its path information should contain routing direction, minimum routing hops in both horizontal and vertical directions. If the path between two neighboring nodes is a satellite-terrestrial cooperative routing path, the path information should contain the ID of utilized ground relay. By using these estimation results given by KNBG-MHCE, we propose a distributed satellite-terrestrial cooperative routing strategy and its core idea is that each node forwards packets to next-hop node under the constraints of minimum end-to-end hop-count and queuing delay. For brevity, we refer to the proposed routing strategy as “our proposal”, or simply “ours” in the following paper. For all ISLs and downlink SGLs, a sending buffer queue Bssubscript𝐵𝑠B_{s}italic_B start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT is allocated to temporarily store packets that need to be forwarded to the next hop. Since ground relay nodes have sufficient storage space, the sending buffer queue size for uplink SGL from ground relay to satellite is unlimited. Additionally, a public waiting buffer queue Bwsubscript𝐵𝑤B_{w}italic_B start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT is introduced according to [25], and link rates for ISL, uplink SGL, downlink SGL are denoted as RISLsubscript𝑅𝐼𝑆𝐿R_{ISL}italic_R start_POSTSUBSCRIPT italic_I italic_S italic_L end_POSTSUBSCRIPT, RSGLupsubscriptsuperscript𝑅𝑢𝑝𝑆𝐺𝐿R^{up}_{SGL}italic_R start_POSTSUPERSCRIPT italic_u italic_p end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_S italic_G italic_L end_POSTSUBSCRIPT and RSGLdownsubscriptsuperscript𝑅𝑑𝑜𝑤𝑛𝑆𝐺𝐿R^{down}_{SGL}italic_R start_POSTSUPERSCRIPT italic_d italic_o italic_w italic_n end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_S italic_G italic_L end_POSTSUBSCRIPT, respectively.

V-A Our Satellite-Terrestrial Cooperative Routing Strategy

V-A1 Inter-Satellite Forwarding

In inter-satellite forwarding mode, packets are routed between satellites via ISLs. Referring to Section II-B, some terms are further defined as follows.

  • candidate forwarding directions: Each satellite has two candidate forwarding directions, which are determined by the routing direction described in Section II-B. These two candidate forwarding directions consist of a horizontal direction and a vertical direction, and all optional combinations of them are: right & up, right & down, left & up, and left & down. Further note that the two candidate forwarding directions for one traffic flow are the same in all satellites on one inter-satellite routing path.

  • candidate sending buffer queues: Two sending buffer queues in satellite nodes corresponding to the two candidate forwarding directions.

  • next-hop satellite: Two neighboring satellites connected to current satellite via ISL in the candidate forwarding directions.

When making routing decisions, the load status of current satellite queues and next-hop satellite are both considered. Assume that the load status of candidate sending buffer queue in current satellite i𝑖iitalic_i in horizontal and vertical directions are Qihsuperscriptsubscript𝑄𝑖Q_{i}^{h}italic_Q start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_h end_POSTSUPERSCRIPT and Qivsuperscriptsubscript𝑄𝑖𝑣Q_{i}^{v}italic_Q start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_v end_POSTSUPERSCRIPT, respectively. The load status of corresponding next-hop satellites in horizontal and vertical directions are Qi+1hsuperscriptsubscript𝑄𝑖1Q_{i+1}^{h}italic_Q start_POSTSUBSCRIPT italic_i + 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_h end_POSTSUPERSCRIPT and Qi+1vsuperscriptsubscript𝑄𝑖1𝑣Q_{i+1}^{v}italic_Q start_POSTSUBSCRIPT italic_i + 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_v end_POSTSUPERSCRIPT. The load status of candidate sending buffer queue in next-hop satellite are Qi+1,hh,Qi+1,vhsuperscriptsubscript𝑄𝑖1superscriptsubscript𝑄𝑖1𝑣Q_{i+1,h}^{h},Q_{i+1,v}^{h}italic_Q start_POSTSUBSCRIPT italic_i + 1 , italic_h end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_h end_POSTSUPERSCRIPT , italic_Q start_POSTSUBSCRIPT italic_i + 1 , italic_v end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_h end_POSTSUPERSCRIPT, and Qi+1,hv,Qi+1,vvsuperscriptsubscript𝑄𝑖1𝑣superscriptsubscript𝑄𝑖1𝑣𝑣Q_{i+1,h}^{v},Q_{i+1,v}^{v}italic_Q start_POSTSUBSCRIPT italic_i + 1 , italic_h end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_v end_POSTSUPERSCRIPT , italic_Q start_POSTSUBSCRIPT italic_i + 1 , italic_v end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_v end_POSTSUPERSCRIPT. Then, Qi+1hsuperscriptsubscript𝑄𝑖1Q_{i+1}^{h}italic_Q start_POSTSUBSCRIPT italic_i + 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_h end_POSTSUPERSCRIPT and Qi+1vsuperscriptsubscript𝑄𝑖1𝑣Q_{i+1}^{v}italic_Q start_POSTSUBSCRIPT italic_i + 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_v end_POSTSUPERSCRIPT can be quantified as Qi+1h=(Qi+1,hh+Qi+1,vh)/2superscriptsubscript𝑄𝑖1superscriptsubscript𝑄𝑖1superscriptsubscript𝑄𝑖1𝑣2Q_{i+1}^{h}=\big{(}Q_{i+1,h}^{h}+Q_{i+1,v}^{h}\big{)}/2italic_Q start_POSTSUBSCRIPT italic_i + 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_h end_POSTSUPERSCRIPT = ( italic_Q start_POSTSUBSCRIPT italic_i + 1 , italic_h end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_h end_POSTSUPERSCRIPT + italic_Q start_POSTSUBSCRIPT italic_i + 1 , italic_v end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_h end_POSTSUPERSCRIPT ) / 2, Qi+1v=(Qi+1,hv+Qi+1,vv)/2superscriptsubscript𝑄𝑖1𝑣superscriptsubscript𝑄𝑖1𝑣superscriptsubscript𝑄𝑖1𝑣𝑣2Q_{i+1}^{v}=\big{(}Q_{i+1,h}^{v}+Q_{i+1,v}^{v}\big{)}/2italic_Q start_POSTSUBSCRIPT italic_i + 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_v end_POSTSUPERSCRIPT = ( italic_Q start_POSTSUBSCRIPT italic_i + 1 , italic_h end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_v end_POSTSUPERSCRIPT + italic_Q start_POSTSUBSCRIPT italic_i + 1 , italic_v end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_v end_POSTSUPERSCRIPT ) / 2.

By jointly considering the load status of candidate sending buffer queues in current satellite i𝑖iitalic_i and the load status of next-hop satellites, delay cost metrics Tihsuperscriptsubscript𝑇𝑖T_{i}^{h}italic_T start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_h end_POSTSUPERSCRIPT and Tivsuperscriptsubscript𝑇𝑖𝑣T_{i}^{v}italic_T start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_v end_POSTSUPERSCRIPT are defined, which represent the potential queuing delay for forwarding in the horizontal and vertical directions.

{Tih=(Qi,h+Qi+1h)/RISL,Tiv=(Qi,v+Qi+1v)/RISL.casessuperscriptsubscript𝑇𝑖subscript𝑄𝑖superscriptsubscript𝑄𝑖1subscript𝑅𝐼𝑆𝐿otherwisesuperscriptsubscript𝑇𝑖𝑣subscript𝑄𝑖𝑣superscriptsubscript𝑄𝑖1𝑣subscript𝑅𝐼𝑆𝐿otherwise\begin{cases}T_{i}^{h}=\big{(}Q_{i,h}+Q_{i+1}^{h}\big{)}/R_{ISL},\\ T_{i}^{v}=\big{(}Q_{i,v}+Q_{i+1}^{v}\big{)}/R_{ISL}.\end{cases}{ start_ROW start_CELL italic_T start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_h end_POSTSUPERSCRIPT = ( italic_Q start_POSTSUBSCRIPT italic_i , italic_h end_POSTSUBSCRIPT + italic_Q start_POSTSUBSCRIPT italic_i + 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_h end_POSTSUPERSCRIPT ) / italic_R start_POSTSUBSCRIPT italic_I italic_S italic_L end_POSTSUBSCRIPT , end_CELL start_CELL end_CELL end_ROW start_ROW start_CELL italic_T start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_v end_POSTSUPERSCRIPT = ( italic_Q start_POSTSUBSCRIPT italic_i , italic_v end_POSTSUBSCRIPT + italic_Q start_POSTSUBSCRIPT italic_i + 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_v end_POSTSUPERSCRIPT ) / italic_R start_POSTSUBSCRIPT italic_I italic_S italic_L end_POSTSUBSCRIPT . end_CELL start_CELL end_CELL end_ROW (24)

In our proposal, once queue saturation occurs in one candidate direction, next-hop satellite corresponding to the other candidate direction will be selected as the next-hop node. For example, if QihBssuperscriptsubscript𝑄𝑖subscript𝐵𝑠Q_{i}^{h}\geq B_{s}italic_Q start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_h end_POSTSUPERSCRIPT ≥ italic_B start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT or Qi+1hBssuperscriptsubscript𝑄𝑖1subscript𝐵𝑠Q_{i+1}^{h}\geq B_{s}italic_Q start_POSTSUBSCRIPT italic_i + 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_h end_POSTSUPERSCRIPT ≥ italic_B start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT, and both Qivsuperscriptsubscript𝑄𝑖𝑣Q_{i}^{v}italic_Q start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_v end_POSTSUPERSCRIPT and Qi+12superscriptsubscript𝑄𝑖12Q_{i+1}^{2}italic_Q start_POSTSUBSCRIPT italic_i + 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT are less than Bssubscript𝐵𝑠B_{s}italic_B start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT, we call the sending buffer queue is saturated in horizontal candidate forwarding direction. Then the satellite corresponding to vertical direction will be selected as the next-hop satellite. Otherwise, routing decisions are made by comparing Tihsuperscriptsubscript𝑇𝑖T_{i}^{h}italic_T start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_h end_POSTSUPERSCRIPT and Tivsuperscriptsubscript𝑇𝑖𝑣T_{i}^{v}italic_T start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_v end_POSTSUPERSCRIPT with threshold ΓΓ\Gammaroman_Γ, which can be expressed as (25) and η1subscript𝜂1\eta_{1}italic_η start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT is a smoothing factor. This threshold is designed based on the remaining queue space for reducing the generation of long queuing delay caused by insufficient candidate directions. Insufficient candidate directions means that when the number of remaining hops in one candidate forwarding direction (Hhrsubscriptsuperscript𝐻𝑟H^{r}_{h}italic_H start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_h end_POSTSUBSCRIPT or Hvrsubscriptsuperscript𝐻𝑟𝑣H^{r}_{v}italic_H start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT) is 0, this packet can only be forwarded in the other direction. If there is severe congestion in that direction, it will lead to significant queuing delay. To address this issue, the number of remaining hop-count in candidate forwarding directions are also considered when comparing Tihsuperscriptsubscript𝑇𝑖T_{i}^{h}italic_T start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_h end_POSTSUPERSCRIPT and Tivsuperscriptsubscript𝑇𝑖𝑣T_{i}^{v}italic_T start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_v end_POSTSUPERSCRIPT. For instance, if the remaining hop-count in horizontal candidate direction is less than that in vertical direction, we forward this packet in vertical direction as long as TihTivΓsuperscriptsubscript𝑇𝑖superscriptsubscript𝑇𝑖𝑣ΓT_{i}^{h}-T_{i}^{v}\leq\Gammaitalic_T start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_h end_POSTSUPERSCRIPT - italic_T start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_v end_POSTSUPERSCRIPT ≤ roman_Γ.

Γ=η1×(2BsRISLmax(Tih,Tiv)).Γsubscript𝜂12subscript𝐵𝑠subscript𝑅𝐼𝑆𝐿maxsuperscriptsubscript𝑇𝑖superscriptsubscript𝑇𝑖𝑣\Gamma=\eta_{1}\times\big{(}\frac{2B_{s}}{R_{ISL}}-\text{max}\big{(}T_{i}^{h},% T_{i}^{v}\big{)}\big{)}.roman_Γ = italic_η start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT × ( divide start_ARG 2 italic_B start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT end_ARG start_ARG italic_R start_POSTSUBSCRIPT italic_I italic_S italic_L end_POSTSUBSCRIPT end_ARG - max ( italic_T start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_h end_POSTSUPERSCRIPT , italic_T start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_v end_POSTSUPERSCRIPT ) ) . (25)

V-A2 Satellite-Terrestrial Forwarding

Taking Fig. 2 as an example, when a packet has been forwarded to satellite gateway SGk,i𝑆subscript𝐺𝑘𝑖SG_{k,i}italic_S italic_G start_POSTSUBSCRIPT italic_k , italic_i end_POSTSUBSCRIPT, if the load status of SGk,i𝑆subscript𝐺𝑘𝑖SG_{k,i}italic_S italic_G start_POSTSUBSCRIPT italic_k , italic_i end_POSTSUBSCRIPT’s downlink SGL does not exceed threshold ΨdownsubscriptΨ𝑑𝑜𝑤𝑛\Psi_{down}roman_Ψ start_POSTSUBSCRIPT italic_d italic_o italic_w italic_n end_POSTSUBSCRIPT, ground relay GRk𝐺subscript𝑅𝑘GR_{k}italic_G italic_R start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT will be selected as the next-hop node, which is determined by KNBG-MHCE method. Alternatively, the packet will be first forwarded to another satellite gateway SGk,j𝑆subscript𝐺𝑘𝑗SG_{k,j}italic_S italic_G start_POSTSUBSCRIPT italic_k , italic_j end_POSTSUBSCRIPT, and then forwarded from SGk,j𝑆subscript𝐺𝑘𝑗SG_{k,j}italic_S italic_G start_POSTSUBSCRIPT italic_k , italic_j end_POSTSUBSCRIPT to GRk𝐺subscript𝑅𝑘GR_{k}italic_G italic_R start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT. SGk,j𝑆subscript𝐺𝑘𝑗SG_{k,j}italic_S italic_G start_POSTSUBSCRIPT italic_k , italic_j end_POSTSUBSCRIPT is a satellite gateway which has the lightest load status on its downlink SGL among all satellite gateways belonging to GRk𝐺subscript𝑅𝑘GR_{k}italic_G italic_R start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT, and the coordinates of SGk,j𝑆subscript𝐺𝑘𝑗SG_{k,j}italic_S italic_G start_POSTSUBSCRIPT italic_k , italic_j end_POSTSUBSCRIPT and SGk,i𝑆subscript𝐺𝑘𝑖SG_{k,i}italic_S italic_G start_POSTSUBSCRIPT italic_k , italic_i end_POSTSUBSCRIPT satisfy |PSGk,iPSGk,j|N0subscript𝑃𝑆subscript𝐺𝑘𝑖subscript𝑃𝑆subscript𝐺𝑘𝑗subscript𝑁0|P_{SG_{k,i}}-P_{SG_{k,j}}|\leq N_{0}| italic_P start_POSTSUBSCRIPT italic_S italic_G start_POSTSUBSCRIPT italic_k , italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT - italic_P start_POSTSUBSCRIPT italic_S italic_G start_POSTSUBSCRIPT italic_k , italic_j end_POSTSUBSCRIPT end_POSTSUBSCRIPT | ≤ italic_N start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT. N0subscript𝑁0N_{0}italic_N start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT is a constant set according to constellation size, which ensures that forwarding from SGk,i𝑆subscript𝐺𝑘𝑖SG_{k,i}italic_S italic_G start_POSTSUBSCRIPT italic_k , italic_i end_POSTSUBSCRIPT to SGk,j𝑆subscript𝐺𝑘𝑗SG_{k,j}italic_S italic_G start_POSTSUBSCRIPT italic_k , italic_j end_POSTSUBSCRIPT will not generate too many extra routing hops. In contrast to forwarding packets from SGk,i𝑆subscript𝐺𝑘𝑖SG_{k,i}italic_S italic_G start_POSTSUBSCRIPT italic_k , italic_i end_POSTSUBSCRIPT to GRk𝐺subscript𝑅𝑘GR_{k}italic_G italic_R start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT, forwarding from SGk,j𝑆subscript𝐺𝑘𝑗SG_{k,j}italic_S italic_G start_POSTSUBSCRIPT italic_k , italic_j end_POSTSUBSCRIPT to GRk𝐺subscript𝑅𝑘GR_{k}italic_G italic_R start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT will reduces the queuing delay on downlink SGL, but a few number of inter-satellite forwarding hops will be introduced due to the routing from SGk,i𝑆subscript𝐺𝑘𝑖SG_{k,i}italic_S italic_G start_POSTSUBSCRIPT italic_k , italic_i end_POSTSUBSCRIPT to SGk,j𝑆subscript𝐺𝑘𝑗SG_{k,j}italic_S italic_G start_POSTSUBSCRIPT italic_k , italic_j end_POSTSUBSCRIPT. Therefore, the design of threshold ΨdownsubscriptΨ𝑑𝑜𝑤𝑛\Psi_{down}roman_Ψ start_POSTSUBSCRIPT italic_d italic_o italic_w italic_n end_POSTSUBSCRIPT requires a joint consideration of the transmission rate of ISL and downlink SGL, which can be represented as follows, where η2subscript𝜂2\eta_{2}italic_η start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT and η3subscript𝜂3\eta_{3}italic_η start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT are smoothing factors and τ𝜏\tauitalic_τ is time interval.

Ψdown=η2×τRISL+η3×τRSGLdown.subscriptΨ𝑑𝑜𝑤𝑛subscript𝜂2𝜏subscript𝑅𝐼𝑆𝐿subscript𝜂3𝜏superscriptsubscript𝑅𝑆𝐺𝐿𝑑𝑜𝑤𝑛\Psi_{down}=\eta_{2}\times\tau R_{ISL}+\eta_{3}\times\tau R_{SGL}^{down}.roman_Ψ start_POSTSUBSCRIPT italic_d italic_o italic_w italic_n end_POSTSUBSCRIPT = italic_η start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT × italic_τ italic_R start_POSTSUBSCRIPT italic_I italic_S italic_L end_POSTSUBSCRIPT + italic_η start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT × italic_τ italic_R start_POSTSUBSCRIPT italic_S italic_G italic_L end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d italic_o italic_w italic_n end_POSTSUPERSCRIPT . (26)

V-A3 Terrestrial-Satellite Forwarding

Still using Fig. 2 as an example, when a packet has been forwarded to ground relay GRk𝐺subscript𝑅𝑘GR_{k}italic_G italic_R start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT, if the load status of uplink SGL between GRk𝐺subscript𝑅𝑘GR_{k}italic_G italic_R start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT and SGk,p𝑆subscript𝐺𝑘𝑝SG_{k,p}italic_S italic_G start_POSTSUBSCRIPT italic_k , italic_p end_POSTSUBSCRIPT does not exceed threshold ΨupsubscriptΨ𝑢𝑝\Psi_{up}roman_Ψ start_POSTSUBSCRIPT italic_u italic_p end_POSTSUBSCRIPT, this packet will be forward to satellite gateway SGk,p𝑆subscript𝐺𝑘𝑝SG_{k,p}italic_S italic_G start_POSTSUBSCRIPT italic_k , italic_p end_POSTSUBSCRIPT, which is determined by KNBG-MHCE method. Otherwise, GRk𝐺subscript𝑅𝑘GR_{k}italic_G italic_R start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT will forward this packet to another satellite gateway SGk,q𝑆subscript𝐺𝑘𝑞SG_{k,q}italic_S italic_G start_POSTSUBSCRIPT italic_k , italic_q end_POSTSUBSCRIPT. SGk,q𝑆subscript𝐺𝑘𝑞SG_{k,q}italic_S italic_G start_POSTSUBSCRIPT italic_k , italic_q end_POSTSUBSCRIPT is a satellite gateway which has the lightest load status on the uplink SGL among all satellite gateways belonging to GRk𝐺subscript𝑅𝑘GR_{k}italic_G italic_R start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT, and the coordinates of SGk,q𝑆subscript𝐺𝑘𝑞SG_{k,q}italic_S italic_G start_POSTSUBSCRIPT italic_k , italic_q end_POSTSUBSCRIPT and SGk,p𝑆subscript𝐺𝑘𝑝SG_{k,p}italic_S italic_G start_POSTSUBSCRIPT italic_k , italic_p end_POSTSUBSCRIPT should also satisfy |PSGk,qPSGk,p|N0subscript𝑃𝑆subscript𝐺𝑘𝑞subscript𝑃𝑆subscript𝐺𝑘𝑝subscript𝑁0|P_{SG_{k,q}}-P_{SG_{k,p}}|\leq N_{0}| italic_P start_POSTSUBSCRIPT italic_S italic_G start_POSTSUBSCRIPT italic_k , italic_q end_POSTSUBSCRIPT end_POSTSUBSCRIPT - italic_P start_POSTSUBSCRIPT italic_S italic_G start_POSTSUBSCRIPT italic_k , italic_p end_POSTSUBSCRIPT end_POSTSUBSCRIPT | ≤ italic_N start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT. Since the routing strategy in terrestrial-satellite forwarding mode is similarly to that in satellite-terrestrial forwarding mode, the threshold ΨupsubscriptΨ𝑢𝑝\Psi_{up}roman_Ψ start_POSTSUBSCRIPT italic_u italic_p end_POSTSUBSCRIPT is designed with reference to ΨdownsubscriptΨ𝑑𝑜𝑤𝑛\Psi_{down}roman_Ψ start_POSTSUBSCRIPT italic_d italic_o italic_w italic_n end_POSTSUBSCRIPT, which can be expressed as follows, and η4subscript𝜂4\eta_{4}italic_η start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPT and η5subscript𝜂5\eta_{5}italic_η start_POSTSUBSCRIPT 5 end_POSTSUBSCRIPT are both smoothing factors.

Ψup=η4×τRISL+η5×τRSGLup.subscriptΨ𝑢𝑝subscript𝜂4𝜏subscript𝑅𝐼𝑆𝐿subscript𝜂5𝜏superscriptsubscript𝑅𝑆𝐺𝐿𝑢𝑝\Psi_{up}=\eta_{4}\times\tau R_{ISL}+\eta_{5}\times\tau R_{SGL}^{up}.roman_Ψ start_POSTSUBSCRIPT italic_u italic_p end_POSTSUBSCRIPT = italic_η start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPT × italic_τ italic_R start_POSTSUBSCRIPT italic_I italic_S italic_L end_POSTSUBSCRIPT + italic_η start_POSTSUBSCRIPT 5 end_POSTSUBSCRIPT × italic_τ italic_R start_POSTSUBSCRIPT italic_S italic_G italic_L end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_u italic_p end_POSTSUPERSCRIPT . (27)
1:The ID of next-hop node
2:if packet is in the inter-satellite forwarding mode then
3:     if Hvr=0superscriptsubscript𝐻𝑣𝑟0H_{v}^{r}=0italic_H start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT = 0, Hhr0superscriptsubscript𝐻𝑟0H_{h}^{r}\neq 0italic_H start_POSTSUBSCRIPT italic_h end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT ≠ 0 or Hvr0superscriptsubscript𝐻𝑣𝑟0H_{v}^{r}\neq 0italic_H start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT ≠ 0, Hhr=0superscriptsubscript𝐻𝑟0H_{h}^{r}=0italic_H start_POSTSUBSCRIPT italic_h end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT = 0 then
4:         next-hop is the satellite corresponding to candidate direction with Hr0superscript𝐻𝑟0H^{r}\neq 0italic_H start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT ≠ 0.
5:     else if horizontal queue saturated or vertical queue saturated and the other queue is unsaturated then
6:         next-hop is the satellite corresponding to the candidate forwarding direction with unsaturated queue.
7:     else
8:         if HhrHvrsuperscriptsubscript𝐻𝑟superscriptsubscript𝐻𝑣𝑟H_{h}^{r}\leq H_{v}^{r}italic_H start_POSTSUBSCRIPT italic_h end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT ≤ italic_H start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT, TihTivΓsuperscriptsubscript𝑇𝑖superscriptsubscript𝑇𝑖𝑣ΓT_{i}^{h}-T_{i}^{v}\leq\Gammaitalic_T start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_h end_POSTSUPERSCRIPT - italic_T start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_v end_POSTSUPERSCRIPT ≤ roman_Γ or HvrHhrsuperscriptsubscript𝐻𝑣𝑟superscriptsubscript𝐻𝑟H_{v}^{r}\leq H_{h}^{r}italic_H start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT ≤ italic_H start_POSTSUBSCRIPT italic_h end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT, TivTih>Γsuperscriptsubscript𝑇𝑖𝑣superscriptsubscript𝑇𝑖ΓT_{i}^{v}-T_{i}^{h}>\Gammaitalic_T start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_v end_POSTSUPERSCRIPT - italic_T start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_h end_POSTSUPERSCRIPT > roman_Γ then
9:              next-hop is the satellite corresponding to the vertical candidate direction.
10:         else if HhrHvrsuperscriptsubscript𝐻𝑟superscriptsubscript𝐻𝑣𝑟H_{h}^{r}\leq H_{v}^{r}italic_H start_POSTSUBSCRIPT italic_h end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT ≤ italic_H start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT, TihTiv>Γsuperscriptsubscript𝑇𝑖superscriptsubscript𝑇𝑖𝑣ΓT_{i}^{h}-T_{i}^{v}>\Gammaitalic_T start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_h end_POSTSUPERSCRIPT - italic_T start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_v end_POSTSUPERSCRIPT > roman_Γ or HvrHhrsuperscriptsubscript𝐻𝑣𝑟superscriptsubscript𝐻𝑟H_{v}^{r}\leq H_{h}^{r}italic_H start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT ≤ italic_H start_POSTSUBSCRIPT italic_h end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT, TivTihΓsuperscriptsubscript𝑇𝑖𝑣superscriptsubscript𝑇𝑖ΓT_{i}^{v}-T_{i}^{h}\leq\Gammaitalic_T start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_v end_POSTSUPERSCRIPT - italic_T start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_h end_POSTSUPERSCRIPT ≤ roman_Γ then
11:              next-hop is the satellite corresponding to the horizontal candidate direction.
12:         end if
13:     end if
14:end if
15:if packet is in the satellite-terrestrial forwarding mode then
16:     if  the queuing delay of SGk,i𝑆subscript𝐺𝑘𝑖SG_{k,i}italic_S italic_G start_POSTSUBSCRIPT italic_k , italic_i end_POSTSUBSCRIPT’s downlink SGL does not exceed ΨdownsubscriptΨ𝑑𝑜𝑤𝑛\Psi_{down}roman_Ψ start_POSTSUBSCRIPT italic_d italic_o italic_w italic_n end_POSTSUBSCRIPT then
17:         GRk𝐺subscript𝑅𝑘GR_{k}italic_G italic_R start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT is selected as the next-hop node.
18:     else
19:         choose another satellite gateway SGk,j𝑆subscript𝐺𝑘𝑗SG_{k,j}italic_S italic_G start_POSTSUBSCRIPT italic_k , italic_j end_POSTSUBSCRIPT, execute Algorithm 1 with coordinates of SGk,i𝑆subscript𝐺𝑘𝑖SG_{k,i}italic_S italic_G start_POSTSUBSCRIPT italic_k , italic_i end_POSTSUBSCRIPT and SGk,j𝑆subscript𝐺𝑘𝑗SG_{k,j}italic_S italic_G start_POSTSUBSCRIPT italic_k , italic_j end_POSTSUBSCRIPT as input, and then get the next-hop node according to the strategy of inter-satellite forwarding mode.
20:     end if
21:end if
22:if packet is in the terrestrial-satellite forwarding mode then
23:     if the queuing delay of uplink SGL between GRk𝐺subscript𝑅𝑘GR_{k}italic_G italic_R start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT and SGk,p𝑆subscript𝐺𝑘𝑝SG_{k,p}italic_S italic_G start_POSTSUBSCRIPT italic_k , italic_p end_POSTSUBSCRIPT does not exceed ΨupsubscriptΨ𝑢𝑝\Psi_{up}roman_Ψ start_POSTSUBSCRIPT italic_u italic_p end_POSTSUBSCRIPT then
24:         SGk,p𝑆subscript𝐺𝑘𝑝SG_{k,p}italic_S italic_G start_POSTSUBSCRIPT italic_k , italic_p end_POSTSUBSCRIPT is selected as the next-hop node.
25:     else
26:         choose another satellite gateway SGk,q𝑆subscript𝐺𝑘𝑞SG_{k,q}italic_S italic_G start_POSTSUBSCRIPT italic_k , italic_q end_POSTSUBSCRIPT as the the next-hop node.
27:     end if
28:end if
29:return the ID of next-hop node
Algorithm 3 Satellite-Terrestrial Cooperative Routing Strategy

VI Property Analysis and Practical Implementation of Our Proposal

VI-A Analysis of Computational Complexity

In Section IV-A, KNBG-MHCE method (Algorithm 2) is designed to estimate the minimum end-to-end hop-count for satellite-terrestrial cooperative routing. This method consists of key node extraction, weighted edge generation, and execution of Dijkstra algorithm. Specifically, the complexity of key node extraction is 𝒪(2KΔPΔR)𝒪2𝐾Δ𝑃Δ𝑅\mathcal{O}(2K\Delta P\Delta R)caligraphic_O ( 2 italic_K roman_Δ italic_P roman_Δ italic_R ), where ΔPΔ𝑃\Delta Proman_Δ italic_P and ΔRΔ𝑅\Delta Rroman_Δ italic_R are calculated by (16) and (17), and K𝐾Kitalic_K is the number of ground relay nodes. The complexity of weighted edge generation is 𝒪(K𝒳!2(𝒳2)!+2K𝒳)𝒪𝐾𝒳2𝒳22𝐾𝒳\mathcal{O}(K\frac{\mathcal{X}!}{2(\mathcal{X}-2)!}+2K\mathcal{X})caligraphic_O ( italic_K divide start_ARG caligraphic_X ! end_ARG start_ARG 2 ( caligraphic_X - 2 ) ! end_ARG + 2 italic_K caligraphic_X ), where 𝒳𝒳\mathcal{X}caligraphic_X is the average number of satellite gateways owned by each ground relay. The above two steps can form key node based graph KNBG, which contains Ssuperscript𝑆S^{*}italic_S start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT nodes, and S=K𝒳+2superscript𝑆𝐾𝒳2S^{*}=K\mathcal{X}+2italic_S start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT = italic_K caligraphic_X + 2 is the total number of nodes in KNBG. Running Dijkstra with KNBG as input can estimate the minimum end-to-end hop-count, and the complexity of this step is 𝒪((S)2)𝒪superscriptsuperscript𝑆2\mathcal{O}\big{(}(S^{*})^{2}\big{)}caligraphic_O ( ( italic_S start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT ) start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ). Therefore, the overall complexity of KNBG-MHCE is 𝒪((K+0.5)K𝒳2+5.5K𝒳+2KΔPΔR+4)𝒪((K+0.5)K𝒳2+5.5K𝒳)𝒪(f1(K𝒳))𝒪𝐾0.5𝐾superscript𝒳25.5𝐾𝒳2𝐾Δ𝑃Δ𝑅4𝒪𝐾0.5𝐾superscript𝒳25.5𝐾𝒳𝒪subscript𝑓1𝐾𝒳\mathcal{O}\big{(}(K+0.5)K\mathcal{X}^{2}+5.5K\mathcal{X}+2K\Delta P\Delta R+4% \big{)}\cong\mathcal{O}\big{(}(K+0.5)K\mathcal{X}^{2}+5.5K\mathcal{X}\big{)}% \cong\mathcal{O}\big{(}f_{1}(K\mathcal{X})\big{)}caligraphic_O ( ( italic_K + 0.5 ) italic_K caligraphic_X start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT + 5.5 italic_K caligraphic_X + 2 italic_K roman_Δ italic_P roman_Δ italic_R + 4 ) ≅ caligraphic_O ( ( italic_K + 0.5 ) italic_K caligraphic_X start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT + 5.5 italic_K caligraphic_X ) ≅ caligraphic_O ( italic_f start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ( italic_K caligraphic_X ) ).

When using traditional Dijkstra method for minimum hop-count estimation, the first step is searching all satellite gateways in the network, and its time complexity is 𝒪(KS)𝒪𝐾𝑆\mathcal{O}(KS)caligraphic_O ( italic_K italic_S ). Next, weighted edges between all nodes need to be created, and this step will generate graph G𝐺Gitalic_G, which contains S𝑆Sitalic_S nodes and S𝑆Sitalic_S is the satellite number in system. The time complexity of this step is 𝒪(K𝒳!2(𝒳2)!)𝒪𝐾𝒳2𝒳2\mathcal{O}\big{(}K\frac{\mathcal{X}!}{2(\mathcal{X}-2)!}\big{)}caligraphic_O ( italic_K divide start_ARG caligraphic_X ! end_ARG start_ARG 2 ( caligraphic_X - 2 ) ! end_ARG ). Next, running Dijkstra with G𝐺Gitalic_G as input, the minimum end-to-end hop-count estimation can be achieved, and the time complexity of this step is O(S2)𝑂superscript𝑆2O(S^{2})italic_O ( italic_S start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ). Finally, the overall complexity of this method is 𝒪(KS+K𝒳!2(𝒳2)!+S2)𝒪(f2(K𝒳))𝒪𝐾𝑆𝐾𝒳2𝒳2superscript𝑆2𝒪subscript𝑓2𝐾𝒳\mathcal{O}\big{(}KS+K\frac{\mathcal{X}!}{2(\mathcal{X}-2)!}+S^{2}\big{)}\cong% \mathcal{O}\big{(}f_{2}(K\mathcal{X})\big{)}caligraphic_O ( italic_K italic_S + italic_K divide start_ARG caligraphic_X ! end_ARG start_ARG 2 ( caligraphic_X - 2 ) ! end_ARG + italic_S start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ) ≅ caligraphic_O ( italic_f start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ( italic_K caligraphic_X ) ).

Moreover, we define ρ𝜌\rhoitalic_ρ to indicate the proportion by which f1(K𝒳)subscript𝑓1𝐾𝒳f_{1}(K\mathcal{X})italic_f start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ( italic_K caligraphic_X ) decreases compared to f2(K𝒳)subscript𝑓2𝐾𝒳f_{2}(K\mathcal{X})italic_f start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ( italic_K caligraphic_X ), and it is given by

ρ=f2(K𝒳)f1(K𝒳)=KS+K𝒳!2(𝒳2)!+S2(K+0.5)K𝒳2+5.5K𝒳.𝜌subscript𝑓2𝐾𝒳subscript𝑓1𝐾𝒳𝐾𝑆𝐾𝒳2𝒳2superscript𝑆2𝐾0.5𝐾superscript𝒳25.5𝐾𝒳\rho=\frac{f_{2}(K\mathcal{X})}{f_{1}(K\mathcal{X})}=\frac{KS+K\frac{\mathcal{% X}!}{2(\mathcal{X}-2)!}+S^{2}}{(K+0.5)K\mathcal{X}^{2}+5.5K\mathcal{X}}.italic_ρ = divide start_ARG italic_f start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ( italic_K caligraphic_X ) end_ARG start_ARG italic_f start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ( italic_K caligraphic_X ) end_ARG = divide start_ARG italic_K italic_S + italic_K divide start_ARG caligraphic_X ! end_ARG start_ARG 2 ( caligraphic_X - 2 ) ! end_ARG + italic_S start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG start_ARG ( italic_K + 0.5 ) italic_K caligraphic_X start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT + 5.5 italic_K caligraphic_X end_ARG . (28)

In the Starlink Phase I constellation of 1,584 satellites, we set 25 ground relays with average latitude of 28superscript2828^{\circ}28 start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT, and 𝒳=10𝒳10\mathcal{X}=10caligraphic_X = 10 is obtained based on simulations. In this case, ρ=39.15𝜌39.15\rho=39.15italic_ρ = 39.15 is calculated according to (28), which means that estimating the minimum end-to-end hop-count with proposed KNBG-MHCE method can reduce the computational complexity by one order of magnitude compared to the traditional approach.

VI-B Analysis of Path Survival Probability

Considering packets may be dropped due to congestion or link unavailability, path survival probability is introduced to quantify the likelihood of a packet successfully reaching its intended destination. In the following, we assume the link availability of inter-orbit links, intra-orbit links, and SGLs as p𝑝pitalic_p, q𝑞qitalic_q, r𝑟ritalic_r respectively, and the path survival probability under different routing strategies are all analyzed in detail.

VI-B1 Path Survival Probability of Dijkstra Shortest Path (DSP) and DisCoRoute (DIS)

DSP and DIS[46] will establish a single routing path. and the end-to-end path survival probability can be written as P1=pHhqHvsubscript𝑃1superscript𝑝subscript𝐻superscript𝑞subscript𝐻𝑣P_{1}=p^{H_{h}}q^{H_{v}}italic_P start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT = italic_p start_POSTSUPERSCRIPT italic_H start_POSTSUBSCRIPT italic_h end_POSTSUBSCRIPT end_POSTSUPERSCRIPT italic_q start_POSTSUPERSCRIPT italic_H start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT end_POSTSUPERSCRIPT.

VI-B2 Path Survival Probability of Longer Side Priority (LSP)

When the number of remaining hops in the horizontal and vertical forwarding directions are not equal, LSP[24] forwards packets to the direction with more remaining hops. When these two values are equal, LSP forwards packets to the direction with lighter queue load, so the path survival probability under LSP strategy can be calculated as

P2={pHhHv(pq(2pq))Hv,if HhHv,qHvHh(pq(2pq))Hh,if Hh<Hv.subscript𝑃2casessuperscript𝑝subscript𝐻subscript𝐻𝑣superscript𝑝𝑞2𝑝𝑞subscript𝐻𝑣if HhHv,superscript𝑞subscript𝐻𝑣subscript𝐻superscript𝑝𝑞2𝑝𝑞subscript𝐻if Hh<Hv.P_{2}=\begin{cases}p^{H_{h}-H_{v}}\big{(}pq(2-pq)\big{)}^{H_{v}},&{\text{if $H% _{h}\geq H_{v}$,}}\\ q^{H_{v}-H_{h}}\big{(}pq(2-pq)\big{)}^{H_{h}},&{\text{if $H_{h}<H_{v}$.}}\end{cases}italic_P start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT = { start_ROW start_CELL italic_p start_POSTSUPERSCRIPT italic_H start_POSTSUBSCRIPT italic_h end_POSTSUBSCRIPT - italic_H start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT end_POSTSUPERSCRIPT ( italic_p italic_q ( 2 - italic_p italic_q ) ) start_POSTSUPERSCRIPT italic_H start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT end_POSTSUPERSCRIPT , end_CELL start_CELL if italic_H start_POSTSUBSCRIPT italic_h end_POSTSUBSCRIPT ≥ italic_H start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT , end_CELL end_ROW start_ROW start_CELL italic_q start_POSTSUPERSCRIPT italic_H start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT - italic_H start_POSTSUBSCRIPT italic_h end_POSTSUBSCRIPT end_POSTSUPERSCRIPT ( italic_p italic_q ( 2 - italic_p italic_q ) ) start_POSTSUPERSCRIPT italic_H start_POSTSUBSCRIPT italic_h end_POSTSUBSCRIPT end_POSTSUPERSCRIPT , end_CELL start_CELL if italic_H start_POSTSUBSCRIPT italic_h end_POSTSUBSCRIPT < italic_H start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT . end_CELL end_ROW (29)

VI-B3 Path Survival Probability of Our Proposal

In inter-satellite forwarding mode, our proposal enables multi-path routing based on Hminsubscript𝐻minH_{\text{min}}italic_H start_POSTSUBSCRIPT min end_POSTSUBSCRIPT, and the number of routing paths that satisfy the minimum end-to-end hop-count constrains can be calculated by

Np=Hmin!Hv!(HminHv)!.subscript𝑁𝑝subscript𝐻minsubscript𝐻𝑣subscript𝐻minsubscript𝐻𝑣\centering N_{p}=\frac{H_{\text{min}}!}{H_{v}!\cdot(H_{\text{min}}-H_{v})!}.\@add@centeringitalic_N start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT = divide start_ARG italic_H start_POSTSUBSCRIPT min end_POSTSUBSCRIPT ! end_ARG start_ARG italic_H start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT ! ⋅ ( italic_H start_POSTSUBSCRIPT min end_POSTSUBSCRIPT - italic_H start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT ) ! end_ARG . (30)

Based on the the inclusion-exclusion principle, path survival probability in this mode can be calculated by (31), where Aaisubscript𝐴subscript𝑎𝑖A_{a_{i}}italic_A start_POSTSUBSCRIPT italic_a start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT denotes the Aaisubscript𝐴subscript𝑎𝑖A_{a_{i}}italic_A start_POSTSUBSCRIPT italic_a start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT-th routing path.

PInterSat=m=1NP(1)m11ai<ai+1Np|P(a1amAai)|.subscript𝑃𝐼𝑛𝑡𝑒𝑟𝑆𝑎𝑡superscriptsubscript𝑚1subscript𝑁𝑃superscript1𝑚1subscript1subscript𝑎𝑖subscript𝑎𝑖1subscript𝑁𝑝𝑃superscriptsubscriptsubscript𝑎1subscript𝑎𝑚subscript𝐴subscript𝑎𝑖P_{InterSat}=\sum_{m=1}^{N_{P}}(-1)^{m-1}\sum_{1\leq a_{i}<a_{i+1}\leq N_{p}}% \Big{|}P\Big{(}\bigcap_{a_{1}}^{a_{m}}A_{a_{i}}\Big{)}\Big{|}.italic_P start_POSTSUBSCRIPT italic_I italic_n italic_t italic_e italic_r italic_S italic_a italic_t end_POSTSUBSCRIPT = ∑ start_POSTSUBSCRIPT italic_m = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_N start_POSTSUBSCRIPT italic_P end_POSTSUBSCRIPT end_POSTSUPERSCRIPT ( - 1 ) start_POSTSUPERSCRIPT italic_m - 1 end_POSTSUPERSCRIPT ∑ start_POSTSUBSCRIPT 1 ≤ italic_a start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT < italic_a start_POSTSUBSCRIPT italic_i + 1 end_POSTSUBSCRIPT ≤ italic_N start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT end_POSTSUBSCRIPT | italic_P ( ⋂ start_POSTSUBSCRIPT italic_a start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_a start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT end_POSTSUPERSCRIPT italic_A start_POSTSUBSCRIPT italic_a start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT ) | . (31)

In cooperative forwarding mode, Hgsubscript𝐻𝑔H_{g}italic_H start_POSTSUBSCRIPT italic_g end_POSTSUBSCRIPT is used to represent the number of satellite-ground hops. As a result, the path survival probability under our proposal is P3=PInterSatrHgsubscript𝑃3subscript𝑃𝐼𝑛𝑡𝑒𝑟𝑆𝑎𝑡superscript𝑟subscript𝐻𝑔P_{3}=P_{InterSat}\cdot r^{H_{g}}italic_P start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT = italic_P start_POSTSUBSCRIPT italic_I italic_n italic_t italic_e italic_r italic_S italic_a italic_t end_POSTSUBSCRIPT ⋅ italic_r start_POSTSUPERSCRIPT italic_H start_POSTSUBSCRIPT italic_g end_POSTSUBSCRIPT end_POSTSUPERSCRIPT.

Refer to caption
Figure 6: The routing paths formed by different routing strategies.

Taking Fig. 6 as an example, P1,P2subscript𝑃1subscript𝑃2P_{1},P_{2}italic_P start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_P start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT and P3subscript𝑃3P_{3}italic_P start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT are

P1=p3q2,P2=p3q2(2pq)2,P3=pq(2pq)r2.formulae-sequencesubscript𝑃1superscript𝑝3superscript𝑞2formulae-sequencesubscript𝑃2superscript𝑝3superscript𝑞2superscript2𝑝𝑞2subscript𝑃3𝑝𝑞2𝑝𝑞superscript𝑟2P_{1}=p^{3}q^{2},~{}P_{2}=p^{3}q^{2}(2-pq)^{2},~{}P_{3}=pq(2-pq)r^{2}.\\ italic_P start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT = italic_p start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT italic_q start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT , italic_P start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT = italic_p start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT italic_q start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ( 2 - italic_p italic_q ) start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT , italic_P start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT = italic_p italic_q ( 2 - italic_p italic_q ) italic_r start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT . (32)

Based on (32), we conduct simulations to assess P1,P2subscript𝑃1subscript𝑃2P_{1},P_{2}italic_P start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_P start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT and P3subscript𝑃3P_{3}italic_P start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT under various values of p𝑝pitalic_p and q𝑞qitalic_q. Since only P3subscript𝑃3P_{3}italic_P start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT is related to r𝑟ritalic_r, r𝑟ritalic_r is set to constant 1, and we only compare the effect caused by the changes in link available probability of ISLs. Meanwhile, the simulation results are shown in Fig. 7. As p𝑝pitalic_p and q𝑞qitalic_q increase, the link availability is enhanced, resulting in an upward trend of path survival probability for all strategies. In all cases, our proposal exhibits the highest path survival probability attributed to the minimum hop-count and its congestion avoidance mechanism.

Refer to caption
Figure 7: The path survival probability of different strategies.

VI-C Analysis of Condition When Routing Hop-Count of the Shortest Distance Path is Equal to the Minimum Value

Minimum hop-count and shortest distance path are two commonly used concepts in routing strategy design. Generally, there may be no direct correlation between these two routing paths. However, in mega Walker Delta constellations, the end to-end routing hops of the shortest distance path tends to be the minimum value. Assuming that the Walker Delta constellation comprises N𝑁Nitalic_N orbits, while each orbit contains M𝑀Mitalic_M satellites and the phasing factor of this constellation is F𝐹Fitalic_F. Pssubscript𝑃𝑠P_{s}italic_P start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT denotes the shortest distance path and Pmhsubscript𝑃𝑚P_{mh}italic_P start_POSTSUBSCRIPT italic_m italic_h end_POSTSUBSCRIPT denotes the minimum hop-count path. To obtain the sufficient conditions for the end-to-end routing hops of the shortest distance path Hssubscript𝐻𝑠H_{s}italic_H start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT equals to the minimum value of routing hop-count Hmhsubscript𝐻𝑚H_{mh}italic_H start_POSTSUBSCRIPT italic_m italic_h end_POSTSUBSCRIPT, we need to consider following two cases. The first case is that the end-to-end routing hop-count of Pssubscript𝑃𝑠P_{s}italic_P start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT is hsubscript\mathbb{H}_{h}blackboard_H start_POSTSUBSCRIPT italic_h end_POSTSUBSCRIPT more than Pmhsubscript𝑃𝑚P_{mh}italic_P start_POSTSUBSCRIPT italic_m italic_h end_POSTSUBSCRIPT in horizontal direction, and vsubscript𝑣\mathbb{H}_{v}blackboard_H start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT less than Pmhsubscript𝑃𝑚P_{mh}italic_P start_POSTSUBSCRIPT italic_m italic_h end_POSTSUBSCRIPT in vertical direction. If we represent the length of intra-orbit links as Lvsubscript𝐿𝑣L_{v}italic_L start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT and the minimum length of inter-orbit links as Lhminsubscript𝐿minL_{h\text{min}}italic_L start_POSTSUBSCRIPT italic_h min end_POSTSUBSCRIPT, then the sufficient conditions for Hs=Hmhsubscript𝐻𝑠subscript𝐻𝑚H_{s}=H_{mh}italic_H start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT = italic_H start_POSTSUBSCRIPT italic_m italic_h end_POSTSUBSCRIPT in this case are

hLhmin>vLv.subscriptsubscript𝐿minsubscript𝑣subscript𝐿𝑣\mathbb{H}_{h}L_{h\text{min}}>\mathbb{H}_{v}L_{v}.blackboard_H start_POSTSUBSCRIPT italic_h end_POSTSUBSCRIPT italic_L start_POSTSUBSCRIPT italic_h min end_POSTSUBSCRIPT > blackboard_H start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT italic_L start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT . (33)
s.t.{h>v,h[0,N2],v[0,𝒵].\begin{split}s.t.\quad\left\{\begin{array}[]{lc}\mathbb{H}_{h}>\mathbb{H}_{v},% \\ \mathbb{H}_{h}\in\big{[}0,\lfloor\frac{N}{2}\rfloor\big{]},\vspace{1ex}\\ \mathbb{H}_{v}\in\big{[}0,\mathcal{Z}\big{]}.\\ \end{array}\right.\end{split}start_ROW start_CELL italic_s . italic_t . { start_ARRAY start_ROW start_CELL blackboard_H start_POSTSUBSCRIPT italic_h end_POSTSUBSCRIPT > blackboard_H start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT , end_CELL start_CELL end_CELL end_ROW start_ROW start_CELL blackboard_H start_POSTSUBSCRIPT italic_h end_POSTSUBSCRIPT ∈ [ 0 , ⌊ divide start_ARG italic_N end_ARG start_ARG 2 end_ARG ⌋ ] , end_CELL start_CELL end_CELL end_ROW start_ROW start_CELL blackboard_H start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT ∈ [ 0 , caligraphic_Z ] . end_CELL start_CELL end_CELL end_ROW end_ARRAY end_CELL end_ROW (34)
𝒵={mod(F,M),if mod(F,M)M2,Mmod(F,M),if mod(F,M)>M2.𝒵casesmod𝐹𝑀if mod(F,M)M2,𝑀mod𝐹𝑀if mod(F,M)>M2.\mathcal{Z}=\begin{cases}\text{mod}(F,M),&{\text{if $\text{mod}\big{(}F,M\big{% )}\leq\big{\lfloor}\frac{M}{2}\big{\rfloor}$,}}\\ M-\text{mod}(F,M),&{\text{if $\text{mod}\big{(}F,M\big{)}>\big{\lfloor}\frac{M% }{2}\big{\rfloor}$.}}\end{cases}caligraphic_Z = { start_ROW start_CELL mod ( italic_F , italic_M ) , end_CELL start_CELL if mod ( italic_F , italic_M ) ≤ ⌊ divide start_ARG italic_M end_ARG start_ARG 2 end_ARG ⌋ , end_CELL end_ROW start_ROW start_CELL italic_M - mod ( italic_F , italic_M ) , end_CELL start_CELL if mod ( italic_F , italic_M ) > ⌊ divide start_ARG italic_M end_ARG start_ARG 2 end_ARG ⌋ . end_CELL end_ROW (35)

Utilizing (34), we make a further derivation of (33), which can simplify (33) and (34) as follows.

Lhmin>vmaxvmax+1Lv.subscript𝐿minsuperscriptsubscript𝑣maxsuperscriptsubscript𝑣max1subscript𝐿𝑣L_{h\text{min}}>\frac{\mathbb{H}_{v}^{\text{max}}}{\mathbb{H}_{v}^{\text{max}}% +1}L_{v}.italic_L start_POSTSUBSCRIPT italic_h min end_POSTSUBSCRIPT > divide start_ARG blackboard_H start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT start_POSTSUPERSCRIPT max end_POSTSUPERSCRIPT end_ARG start_ARG blackboard_H start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT start_POSTSUPERSCRIPT max end_POSTSUPERSCRIPT + 1 end_ARG italic_L start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT . (36)
vmax=min{𝒵,N21}.superscriptsubscript𝑣maxmin𝒵𝑁21\mathbb{H}_{v}^{\text{max}}=\text{min}\Big{\{}\mathcal{Z},\big{\lfloor}\frac{N% }{2}\big{\rfloor}-1\Big{\}}.blackboard_H start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT start_POSTSUPERSCRIPT max end_POSTSUPERSCRIPT = min { caligraphic_Z , ⌊ divide start_ARG italic_N end_ARG start_ARG 2 end_ARG ⌋ - 1 } . (37)

Moreover, the second case is that the end-to-end routing hop-count of Pssubscript𝑃𝑠P_{s}italic_P start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT is hsubscript\mathbb{H}_{h}blackboard_H start_POSTSUBSCRIPT italic_h end_POSTSUBSCRIPT less than Pmhsubscript𝑃𝑚P_{mh}italic_P start_POSTSUBSCRIPT italic_m italic_h end_POSTSUBSCRIPT in horizontal direction, and vsubscript𝑣\mathbb{H}_{v}blackboard_H start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT more than Pmhsubscript𝑃𝑚P_{mh}italic_P start_POSTSUBSCRIPT italic_m italic_h end_POSTSUBSCRIPT in vertical direction. So in this case, the sufficient conditions for Hs=Hmhsubscript𝐻𝑠subscript𝐻𝑚H_{s}=H_{mh}italic_H start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT = italic_H start_POSTSUBSCRIPT italic_m italic_h end_POSTSUBSCRIPT are

vLv>hLhmin.subscript𝑣subscript𝐿𝑣subscriptsubscript𝐿min\mathbb{H}_{v}L_{v}>\mathbb{H}_{h}L_{h\text{min}}.blackboard_H start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT italic_L start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT > blackboard_H start_POSTSUBSCRIPT italic_h end_POSTSUBSCRIPT italic_L start_POSTSUBSCRIPT italic_h min end_POSTSUBSCRIPT . (38)
s.t.{v>h,h[0,N2],v[0,𝒵].\begin{split}s.t.\quad\left\{\begin{array}[]{lc}\mathbb{H}_{v}>\mathbb{H}_{h},% \\ \mathbb{H}_{h}\in\big{[}0,\lfloor\frac{N}{2}\rfloor\big{]},\vspace{1ex}\\ \mathbb{H}_{v}\in\big{[}0,\mathcal{Z}\big{]}.\\ \end{array}\right.\end{split}start_ROW start_CELL italic_s . italic_t . { start_ARRAY start_ROW start_CELL blackboard_H start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT > blackboard_H start_POSTSUBSCRIPT italic_h end_POSTSUBSCRIPT , end_CELL start_CELL end_CELL end_ROW start_ROW start_CELL blackboard_H start_POSTSUBSCRIPT italic_h end_POSTSUBSCRIPT ∈ [ 0 , ⌊ divide start_ARG italic_N end_ARG start_ARG 2 end_ARG ⌋ ] , end_CELL start_CELL end_CELL end_ROW start_ROW start_CELL blackboard_H start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT ∈ [ 0 , caligraphic_Z ] . end_CELL start_CELL end_CELL end_ROW end_ARRAY end_CELL end_ROW (39)

Similar to the first case, conditions (38) and (39) obtained in the second case can be further deduced as follows.

Lv>hmaxhmax+1Lhmin.subscript𝐿𝑣superscriptsubscriptmaxsuperscriptsubscriptmax1subscript𝐿minL_{v}>\frac{\mathbb{H}_{h}^{\text{max}}}{\mathbb{H}_{h}^{\text{max}}+1}L_{h% \text{min}}.italic_L start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT > divide start_ARG blackboard_H start_POSTSUBSCRIPT italic_h end_POSTSUBSCRIPT start_POSTSUPERSCRIPT max end_POSTSUPERSCRIPT end_ARG start_ARG blackboard_H start_POSTSUBSCRIPT italic_h end_POSTSUBSCRIPT start_POSTSUPERSCRIPT max end_POSTSUPERSCRIPT + 1 end_ARG italic_L start_POSTSUBSCRIPT italic_h min end_POSTSUBSCRIPT . (40)
hmax=min{𝒵1,N2}.superscriptsubscriptmaxmin𝒵1𝑁2\mathbb{H}_{h}^{\text{max}}=\text{min}\Big{\{}\mathcal{Z}-1,\big{\lfloor}\frac% {N}{2}\big{\rfloor}\Big{\}}.blackboard_H start_POSTSUBSCRIPT italic_h end_POSTSUBSCRIPT start_POSTSUPERSCRIPT max end_POSTSUPERSCRIPT = min { caligraphic_Z - 1 , ⌊ divide start_ARG italic_N end_ARG start_ARG 2 end_ARG ⌋ } . (41)

In conclusion, if the parameters of Walker Delta constellations can satisfy both (36), (37) and (40), (41), the end-to-end hop-count of the shortest distance path will be equal to the minimum value. Meanwhile, Lhminsubscript𝐿minL_{h\text{min}}italic_L start_POSTSUBSCRIPT italic_h min end_POSTSUBSCRIPT and Lvsubscript𝐿𝑣L_{v}italic_L start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT in above equations can be calculated as follows.

Lhmin=2(re+h)sin(Γmin2),Lv=2sin(πM)(re+h).formulae-sequencesubscript𝐿min2subscript𝑟𝑒sinsubscriptΓmin2subscript𝐿𝑣2sin𝜋𝑀subscript𝑟𝑒L_{h\text{min}}=2\cdot(r_{e}+h)\cdot\text{sin}(\frac{\Gamma_{\text{min}}}{2}),% \;L_{v}=2\cdot\text{sin}(\frac{\pi}{M})\cdot(r_{e}+h).italic_L start_POSTSUBSCRIPT italic_h min end_POSTSUBSCRIPT = 2 ⋅ ( italic_r start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT + italic_h ) ⋅ sin ( divide start_ARG roman_Γ start_POSTSUBSCRIPT min end_POSTSUBSCRIPT end_ARG start_ARG 2 end_ARG ) , italic_L start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT = 2 ⋅ sin ( divide start_ARG italic_π end_ARG start_ARG italic_M end_ARG ) ⋅ ( italic_r start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT + italic_h ) . (42)
{Γmin=arccos(1cosγ21+cosγ2cos(2κΔf)),γ=arccos(1(sinαsin2πN)21+cos2πN),κ=arcsin((1+cos2πN)22+2cos2πN(sinαsin2πN)2).casessubscriptΓminarccos1cos𝛾21cos𝛾2cos2𝜅Δ𝑓otherwise𝛾arccos1superscriptsin𝛼sin2𝜋𝑁21cos2𝜋𝑁otherwise𝜅arcsinsuperscript1cos2𝜋𝑁222cos2𝜋𝑁superscriptsin𝛼sin2𝜋𝑁2otherwise\begin{cases}\Gamma_{\text{min}}=\text{arccos}\Big{(}\frac{1-\text{cos}\gamma}% {2}-\frac{1+\text{cos}\gamma}{2}\text{cos}\big{(}2\kappa-\Delta f\big{)}\Big{)% },\\ \gamma=\text{arccos}\Big{(}1-\frac{\big{(}\text{sin}\alpha\text{sin}\frac{2\pi% }{N}\big{)}^{2}}{1+\text{cos}\frac{2\pi}{N}}\Big{)},\\ \kappa=\text{arcsin}\Big{(}\sqrt{\frac{\big{(}1+\text{cos}\frac{2\pi}{N}\big{)% }^{2}}{2+2\text{cos}\frac{2\pi}{N}-\big{(}\text{sin}\alpha\text{sin}\frac{2\pi% }{N}\big{)}^{2}}}\Big{)}.\\ \end{cases}{ start_ROW start_CELL roman_Γ start_POSTSUBSCRIPT min end_POSTSUBSCRIPT = arccos ( divide start_ARG 1 - cos italic_γ end_ARG start_ARG 2 end_ARG - divide start_ARG 1 + cos italic_γ end_ARG start_ARG 2 end_ARG cos ( 2 italic_κ - roman_Δ italic_f ) ) , end_CELL start_CELL end_CELL end_ROW start_ROW start_CELL italic_γ = arccos ( 1 - divide start_ARG ( sin italic_α sin divide start_ARG 2 italic_π end_ARG start_ARG italic_N end_ARG ) start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG start_ARG 1 + cos divide start_ARG 2 italic_π end_ARG start_ARG italic_N end_ARG end_ARG ) , end_CELL start_CELL end_CELL end_ROW start_ROW start_CELL italic_κ = arcsin ( square-root start_ARG divide start_ARG ( 1 + cos divide start_ARG 2 italic_π end_ARG start_ARG italic_N end_ARG ) start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG start_ARG 2 + 2 cos divide start_ARG 2 italic_π end_ARG start_ARG italic_N end_ARG - ( sin italic_α sin divide start_ARG 2 italic_π end_ARG start_ARG italic_N end_ARG ) start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG end_ARG ) . end_CELL start_CELL end_CELL end_ROW (43)

VI-D Packet Format Design for Practical Implementation

Refer to caption
Figure 8: The packet format in our proposal.

To reduce routing overhead, we employ source routing paradigm, executing KNBG-MHCE only at source satellite and encapsulating its results into packets as shown in Fig. 8. Subsequent nodes can make distributed routing decisions by extracting the encapsulated information, which includes both header and data. The header is structured into multiple segments, with each segment containing neighboring key nodes ID and the corresponding path information between them. Taking Fig. 8 as an example, the path in segment1 is an inter-satellite routing path and this path is from source satellite to key node A. The path information of this path encompasses routing direction, remaining routing hop-count in both horizontal and vertical directions. When a node forwards this packet in a specific direction, the remaining routing hop-count in the corresponding direction within this packet should be subtracted by 1. The path in segment2 represents a satellite-terrestrial cooperative routing path, and its path information includes the ID of utilized ground relay node GRk𝐺subscript𝑅𝑘GR_{k}italic_G italic_R start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT. Furthermore, according to Fig. 8, encapsulated segments within the packet header require updates in the following cases, and we use 𝔸𝔸\mathbb{A}blackboard_A,𝔹𝔹\mathbb{B}blackboard_B to denote key node A, B for brevity.

  • Case 1: When 𝔸𝔸\mathbb{A}blackboard_A decides to forward this packet to ground relay GRk𝐺subscript𝑅𝑘GR_{k}italic_G italic_R start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT, 𝔸𝔸\mathbb{A}blackboard_A removes segment1.

  • Case 2: The load status of downlink SGL between 𝔸𝔸\mathbb{A}blackboard_A and GRk𝐺subscript𝑅𝑘GR_{k}italic_G italic_R start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT exceeds the threshold ΨdownsubscriptΨ𝑑𝑜𝑤𝑛\Psi_{down}roman_Ψ start_POSTSUBSCRIPT italic_d italic_o italic_w italic_n end_POSTSUBSCRIPT and 𝔸𝔸\mathbb{A}blackboard_A decides to forward this packet to another satellite gateway SGk,j𝑆subscript𝐺𝑘𝑗SG_{k,j}italic_S italic_G start_POSTSUBSCRIPT italic_k , italic_j end_POSTSUBSCRIPT. At this point, 𝔸𝔸\mathbb{A}blackboard_A removes the original segment1 and executes Algorithm 1 using the coordinates of 𝔸𝔸\mathbb{A}blackboard_A and SGk,j𝑆subscript𝐺𝑘𝑗SG_{k,j}italic_S italic_G start_POSTSUBSCRIPT italic_k , italic_j end_POSTSUBSCRIPT as inputs. The results of Algorithm 1 are then encapsulated into this packet, formatted as new segment1. Meanwhile, the ID of key node A in segment2 is updated to the ID of SGk,j𝑆subscript𝐺𝑘𝑗SG_{k,j}italic_S italic_G start_POSTSUBSCRIPT italic_k , italic_j end_POSTSUBSCRIPT.

  • Case 3: Due to satellite movement, 𝔸𝔸\mathbb{A}blackboard_A is no longer a key node. In response, 𝔸𝔸\mathbb{A}blackboard_A removes all segments within this packet, executes KNBG-MHCE with the IDs of 𝔸𝔸\mathbb{A}blackboard_A and destination satellite as inputs, and subsequently re-encapsulates the results of KNBG-MHCE into this packet.

  • Case 4: When this packet is forwarded to 𝔹𝔹\mathbb{B}blackboard_B, 𝔹𝔹\mathbb{B}blackboard_B removes segment2.

  • Case 5: If the load status of uplink SGL between GRk𝐺subscript𝑅𝑘GR_{k}italic_G italic_R start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT and 𝔹𝔹\mathbb{B}blackboard_B exceeds the threshold ΨupsubscriptΨ𝑢𝑝\Psi_{up}roman_Ψ start_POSTSUBSCRIPT italic_u italic_p end_POSTSUBSCRIPT, or if 𝔹𝔹\mathbb{B}blackboard_B is no longer a key node due to satellite movement, GRk𝐺subscript𝑅𝑘GR_{k}italic_G italic_R start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT will decide to forward this packet to another satellite gateway SGk,q𝑆subscript𝐺𝑘𝑞SG_{k,q}italic_S italic_G start_POSTSUBSCRIPT italic_k , italic_q end_POSTSUBSCRIPT. At this point, GRk𝐺subscript𝑅𝑘GR_{k}italic_G italic_R start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT will first forward this packet to SGk,q𝑆subscript𝐺𝑘𝑞SG_{k,q}italic_S italic_G start_POSTSUBSCRIPT italic_k , italic_q end_POSTSUBSCRIPT. SGk,q𝑆subscript𝐺𝑘𝑞SG_{k,q}italic_S italic_G start_POSTSUBSCRIPT italic_k , italic_q end_POSTSUBSCRIPT will then removes all segments within this packet, and executes KNBG-MHCE with the IDs of SGk,q𝑆subscript𝐺𝑘𝑞SG_{k,q}italic_S italic_G start_POSTSUBSCRIPT italic_k , italic_q end_POSTSUBSCRIPT and destination satellite as inputs, then re-encapsulates the results of KNBG-MHCE into this packet.

VII Experiments and Performance Evaluation

VII-A Simulation Setup

In this section, extensive experiments are conducted under Starlink phase I constellation, and N0subscript𝑁0N_{0}italic_N start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT in Section V-A is set to 4. Key node based graphs are regenerated every 600ms, and all simulations last 20.51s with the time interval τ𝜏\tauitalic_τ of 1 ms[25]. Moreover, we compare our proposal with other two types of strategies. Type I strategies only use ISLs for data forwarding, which consist of DSP, DIS[46], and LSP[24]. Type II strategies include DSPCR, DISCR, LSPCR and our proposal, and the first three strategies in Type II are adaptations of Type I strategies for satellite-terrestrial cooperative routing scenario. Additionally, we deploy a total of 25 ground relays in two phases in the satellite-terrestrial cooperative routing scenario. 12 ground relays are deployed in the first phase, while other 13 ground relays are further added in the second phase, and the locations of all 25 ground relays are shown in Fig. 9. In Fig. 9, 12 ground relays in the first phase are represented by unfilled circles and 13 ground relays in the second phase are represented by color-filled circles. At the same time, the different colors indicate that the ground relays belong to different continents.

Refer to caption
Figure 9: The locations of all 25 ground relays.

Moreover, the overall simulation in this section consists of three parts. First, we evaluate the accuracy of Algorithm 1 and Algorithm 2, which are designed to estimate the minimum end-to-end hop-count for inter-satellite and satellite-terrestrial cooperative routing, respectively. Second, we discuss the impact of packet arrival rate and the size of satellite sending buffer queue on system throughput. Finally, we compare our proposal with other strategies in terms of routing hop-count, end-to-end delay, packet drop rate and system throughput. The key simulation parameters are shown in Table II.

TABLE II: Simulation Parameters
Parameter Value
Configuration of constellations 1584/72/39/550/5315847239550superscript531584/72/39/550/53^{\circ}1584 / 72 / 39 / 550 / 53 start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT
The size of sending buffer queue Bssubscript𝐵𝑠B_{s}italic_B start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT 5Mbit, Ka / 10Mbit, laser
The size of public waiting buffer queue Bwsubscript𝐵𝑤B_{w}italic_B start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT 40Mbit, Ka / 1Gbit, laser
The rate of ISL RISLsubscript𝑅𝐼𝑆𝐿R_{ISL}italic_R start_POSTSUBSCRIPT italic_I italic_S italic_L end_POSTSUBSCRIPT 25Mbps, Ka / 2.5Gbps, laser
The rate of SGL RSGLsubscript𝑅𝑆𝐺𝐿R_{SGL}italic_R start_POSTSUBSCRIPT italic_S italic_G italic_L end_POSTSUBSCRIPT in Ka band 1.5Gbps downlink / 2Gbps uplink
The rate of SGL RSGLsubscript𝑅𝑆𝐺𝐿R_{SGL}italic_R start_POSTSUBSCRIPT italic_S italic_G italic_L end_POSTSUBSCRIPT in laser band 5Gbps downlink / 5Gbps uplink
The packet arrival rate Rpacsubscript𝑅𝑝𝑎𝑐R_{pac}italic_R start_POSTSUBSCRIPT italic_p italic_a italic_c end_POSTSUBSCRIPT under Ka ISLs 1-9Mbps
The packet arrival rate Rpacsubscript𝑅𝑝𝑎𝑐R_{pac}italic_R start_POSTSUBSCRIPT italic_p italic_a italic_c end_POSTSUBSCRIPT under laser ISLs 80-350Mbps
Smoothing factors η1η5subscript𝜂1subscript𝜂5\eta_{1}-\eta_{5}italic_η start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT - italic_η start_POSTSUBSCRIPT 5 end_POSTSUBSCRIPT (0.01, Ka / 0.5, laser), 2, 1, 2, 1

VII-B The Accuracy Assessment of Designed Minimum End-to-End Hop-Count Estimation Methods

Refer to caption
Figure 10: The accuracy assessment of Algorithm 1.
Refer to caption
Figure 11: The accuracy assessment of Algorithm 2.

Considering there are a total of 1584 satellites in Starlink phase I constellation, we number them from 1 to 1584 and generate 3 million random numbers, where the odd numbers are used as source satellite nodes and the even numbers are used as destination satellite nodes. As a result, 1.5 million source-destination pairs are set to estimate the minimum end-to-end hop-count with Algorithm 1, Dijkstra and Hop-Count Estimation Method (HCEM)[33], respectively. Fig. 10 illustrates that the percentage of different minimum hop-count obtained by Algorithm 1 is consistent with the other two methods, indicating that the designed Algorithm 1 can accurately estimate the minimum end-to-end hop-count for inter-satellite forwarding mode.

Furthermore, we verify the accuracy of KNBG-MHCE (Algorithm 2) under different numbers of ground relays (GRs). As shown in Fig. 11, the CDF curves of minimum end-to-end hop-count obtained by KNBG-MHCE overlap with those obtained by Dijkstra, reviewing that the designed KNBG-MHCE can accurately estimate the minimum end-to-end hop-count for satellite-terrestrial cooperative routing scenarios.

VII-C The Evaluation of Average System Throughput Under Different Rpacsubscript𝑅𝑝𝑎𝑐R_{pac}italic_R start_POSTSUBSCRIPT italic_p italic_a italic_c end_POSTSUBSCRIPT and Bssubscript𝐵𝑠B_{s}italic_B start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT

To fully discuss the impact of packet arrival rate Rpacsubscript𝑅𝑝𝑎𝑐R_{pac}italic_R start_POSTSUBSCRIPT italic_p italic_a italic_c end_POSTSUBSCRIPT and the size of sending buffer queue Bssubscript𝐵𝑠B_{s}italic_B start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT on average system throughput, we conduct simulations in system with Ka band ISLs and laser band ISLs, respectively. In both systems, we set 3000 non-persistent on-off flows similar to[23], and employ Ka band SGLs along with our proposal as uniform routing strategy. Notably, average throughput here refers to the average size of packets reaching destination nodes per unit of time, and it can be further defined as follows [47]

Throughput=limTt=0TPackets reaching destinationsT.Throughputsubscriptlim𝑇superscriptsubscript𝑡0𝑇Packets reaching destinations𝑇\centering\small\text{Throughput}=\mathop{\text{lim}}\limits_{T\rightarrow% \infty}\frac{\sum_{t=0}^{T}\text{Packets reaching destinations}}{T}.\@add@centeringThroughput = lim start_POSTSUBSCRIPT italic_T → ∞ end_POSTSUBSCRIPT divide start_ARG ∑ start_POSTSUBSCRIPT italic_t = 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT Packets reaching destinations end_ARG start_ARG italic_T end_ARG . (44)

Fig. 12 and Fig. 13 represent the variation of average throughput in system with Ka and laser band ISLs, respectively. Under same parameters, we can observe that the system with laser band ISLs always exhibits a higher throughput compared to the system with Ka band ISLs. This is because that the transmission rate will rise as RISLsubscript𝑅𝐼𝑆𝐿R_{ISL}italic_R start_POSTSUBSCRIPT italic_I italic_S italic_L end_POSTSUBSCRIPT increases, which results in the enhancement in system throughput.

Refer to caption
Figure 12: Average system throughput with Ka band ISLs.
Refer to caption
Figure 13: Average system throughput with laser band ISLs.

Moreover, when Rpacsubscript𝑅𝑝𝑎𝑐R_{pac}italic_R start_POSTSUBSCRIPT italic_p italic_a italic_c end_POSTSUBSCRIPT is fixed, the average system throughput will increase till Bssubscript𝐵𝑠B_{s}italic_B start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT reaches a threshold Bsthsuperscriptsubscript𝐵𝑠𝑡B_{s}^{th}italic_B start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_t italic_h end_POSTSUPERSCRIPT in both figures above. Bsthsuperscriptsubscript𝐵𝑠𝑡B_{s}^{th}italic_B start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_t italic_h end_POSTSUPERSCRIPT is determined by the maximum transmission rate per unit time of all links. In Fig. 12, the maximum transmission rate in Ka band system is 2Gbps×1ms=2Mbit2Gbps1ms2Mbit2\text{Gbps}\times 1\text{ms}=2\text{Mbit}2 Gbps × 1 ms = 2 Mbit. Therefore, when Bs2Mbitsubscript𝐵𝑠2MbitB_{s}\geq 2\text{Mbit}italic_B start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ≥ 2 Mbit, the size of packets that each link can store reaches the upper limit of its transmission capacity. As a result, the throughput remains almost unchanged regardless of further variations in Bssubscript𝐵𝑠B_{s}italic_B start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT. Similarly in Fig. 13, since the maximum data transmission rate is 2.5Gbps×1ms=2.5Mbit2.5Gbps1ms2.5Mbit2.5\text{Gbps}\times 1\text{ms}=2.5\text{Mbit}2.5 Gbps × 1 ms = 2.5 Mbit, Bsthsuperscriptsubscript𝐵𝑠𝑡B_{s}^{th}italic_B start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_t italic_h end_POSTSUPERSCRIPT becomes 2.5 Mbit in laser system. On the other hand, when Bssubscript𝐵𝑠B_{s}italic_B start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT is fixed, in both Fig. 12 and Fig. 13, the average system throughput improves with the increase of Rpacsubscript𝑅𝑝𝑎𝑐R_{pac}italic_R start_POSTSUBSCRIPT italic_p italic_a italic_c end_POSTSUBSCRIPT. However, when Rpacsubscript𝑅𝑝𝑎𝑐R_{pac}italic_R start_POSTSUBSCRIPT italic_p italic_a italic_c end_POSTSUBSCRIPT reaches a threshold Rpacthsuperscriptsubscript𝑅𝑝𝑎𝑐𝑡R_{pac}^{th}italic_R start_POSTSUBSCRIPT italic_p italic_a italic_c end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_t italic_h end_POSTSUPERSCRIPT, system will enter saturated state and the throughput remains relatively stable thereafter. From Fig. 12 we can see that Rpacthsuperscriptsubscript𝑅𝑝𝑎𝑐𝑡R_{pac}^{th}italic_R start_POSTSUBSCRIPT italic_p italic_a italic_c end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_t italic_h end_POSTSUPERSCRIPT is about 150Mbps in the system with Ka band ISLs, and with the increase of link rate, Rpacthsuperscriptsubscript𝑅𝑝𝑎𝑐𝑡R_{pac}^{th}italic_R start_POSTSUBSCRIPT italic_p italic_a italic_c end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_t italic_h end_POSTSUPERSCRIPT grows to 350Mbps in system with laser band ISLs, which is shown in Fig. 13.

It’s worth noting that system should reach saturation state when packet arrival rate exceeds the lowest transmission rate of all links. However, as shown in Fig. 12, Rpacthsuperscriptsubscript𝑅𝑝𝑎𝑐𝑡R_{pac}^{th}italic_R start_POSTSUBSCRIPT italic_p italic_a italic_c end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_t italic_h end_POSTSUPERSCRIPT in system with Ka band ISLs is 150Mbps, which is much larger than the lowest transmission rate RISL=25subscript𝑅𝐼𝑆𝐿25R_{ISL}=25italic_R start_POSTSUBSCRIPT italic_I italic_S italic_L end_POSTSUBSCRIPT = 25Mbps. This happens because some source nodes can reach their destinations just through SGLs, and no longer need to go through the low-rate ISLs. Therefore, system will enter saturation state only when the transmission capacity of SGL is fully utilized, which leads to the increase in Rpacthsubscriptsuperscript𝑅𝑡𝑝𝑎𝑐R^{th}_{pac}italic_R start_POSTSUPERSCRIPT italic_t italic_h end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_p italic_a italic_c end_POSTSUBSCRIPT to 150Mbps.

VII-D Performance Comparison among Routing Strategies

We conduct simulations of different routing strategies in two systems as before, and the related results are shown in Fig. 14 and Fig. 15, respectively. In the following figures, end-to-end delay refers to the sum of propagation delay and queuing delay. Packet forwarding rate refers to the number of packets forwarded by a satellite per unit of time, which is determined by the satellite processing rate and link transmission rate. Additionally, for more precise results, we delete the data flow which can be transmitted from source to destination just by SGLs as mentioned in Section VII-C.

Refer to caption
Refer to caption
Refer to caption
Refer to caption
Refer to caption
Refer to caption
Refer to caption
Refer to caption
Figure 14: The simulation results with ISLs in Ka band, where (a) is the distribution of end-to-end routing hop-count, (b) illustrates the CDF of end-to-end propagation delay, (c) presents the CDF of average end-to-end delay with Rpac=1Mbpssubscript𝑅𝑝𝑎𝑐1MbpsR_{pac}=1\text{Mbps}italic_R start_POSTSUBSCRIPT italic_p italic_a italic_c end_POSTSUBSCRIPT = 1 Mbps, (d) presents the CDF of average end-to-end delay with Rpac=4Mbpssubscript𝑅𝑝𝑎𝑐4MbpsR_{pac}=4\text{Mbps}italic_R start_POSTSUBSCRIPT italic_p italic_a italic_c end_POSTSUBSCRIPT = 4 Mbps, (e) shows the packet drop rate with different Rpacsubscript𝑅𝑝𝑎𝑐R_{pac}italic_R start_POSTSUBSCRIPT italic_p italic_a italic_c end_POSTSUBSCRIPT, (f) shows the average system throughput with different Rpacsubscript𝑅𝑝𝑎𝑐R_{pac}italic_R start_POSTSUBSCRIPT italic_p italic_a italic_c end_POSTSUBSCRIPT, (g) depicts the packet drop rate at double packet forwarding rate with different Rpacsubscript𝑅𝑝𝑎𝑐R_{pac}italic_R start_POSTSUBSCRIPT italic_p italic_a italic_c end_POSTSUBSCRIPT, (h) depicts the average system throughput at double packet forwarding rate with different Rpacsubscript𝑅𝑝𝑎𝑐R_{pac}italic_R start_POSTSUBSCRIPT italic_p italic_a italic_c end_POSTSUBSCRIPT.
Refer to caption
Refer to caption
Refer to caption
Refer to caption
Refer to caption
Refer to caption
Refer to caption
Refer to caption
Figure 15: The simulation results with ISLs in laser band, where (a) is the distribution of end-to-end routing hop-count, (b) illustrates the CDF of end-to-end propagation delay, (c) presents the CDF of average end-to-end delay with Rpac=80Mbpssubscript𝑅𝑝𝑎𝑐80MbpsR_{pac}=80\text{Mbps}italic_R start_POSTSUBSCRIPT italic_p italic_a italic_c end_POSTSUBSCRIPT = 80 Mbps, (d) presents the CDF of average end-to-end delay with Rpac=350Mbpssubscript𝑅𝑝𝑎𝑐350MbpsR_{pac}=350\text{Mbps}italic_R start_POSTSUBSCRIPT italic_p italic_a italic_c end_POSTSUBSCRIPT = 350 Mbps, (e) shows the packet drop rate with different Rpacsubscript𝑅𝑝𝑎𝑐R_{pac}italic_R start_POSTSUBSCRIPT italic_p italic_a italic_c end_POSTSUBSCRIPT, (f) shows the average system throughput with different Rpacsubscript𝑅𝑝𝑎𝑐R_{pac}italic_R start_POSTSUBSCRIPT italic_p italic_a italic_c end_POSTSUBSCRIPT, (g) depicts the packet drop rate at double packet forwarding rate with different Rpacsubscript𝑅𝑝𝑎𝑐R_{pac}italic_R start_POSTSUBSCRIPT italic_p italic_a italic_c end_POSTSUBSCRIPT, (h) depicts the average system throughput at double packet forwarding rate with different Rpacsubscript𝑅𝑝𝑎𝑐R_{pac}italic_R start_POSTSUBSCRIPT italic_p italic_a italic_c end_POSTSUBSCRIPT.

VII-D1 End-to-end Hop-Count

Fig. 14 and Fig.15 represent the end-to-end hop-count distribution under different strategies in two systems. Since the end-to-end routing hop-count is not related to the frequency of ISLs, the trends of curves in these two figures are essentially the same. Taking Fig. 14 as an example, under an equivalent number of ground relays, Dijkstra-based routing strategies exhibit hop-count distributions that are nearly identical to strategies based on minimum end-to-end hop-count. This is because that the end to-end routing hops of the shortest distance path tends to be the minimum value in mega constellations, which is fully discussed in Section VI-C. Moreover, the average hop-count of Type II strategies is notably lower than that of Type I strategies, and the more ground relays there are, the smaller the average end-to-end hop-count of Type II strategies is, which further proves that satellite-terrestrial cooperative routing can significantly reduce the forwarding hops. Meanwhile, the cumulative distribution of end-to-end propagation delay under different strategies in the two systems are shown as Fig. 14 and 15. Since the end-to-end propagation delay under mega constellations is closely related to the number of routing hops, the average propagation delay of Type II strategies is much smaller than that of Type I strategies in both figures as well.

VII-D2 End-to-end Delay

We analyze the end-to-end delay with packet arrival rate of initial rate Rpac0superscriptsubscript𝑅𝑝𝑎𝑐0R_{pac}^{0}italic_R start_POSTSUBSCRIPT italic_p italic_a italic_c end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 0 end_POSTSUPERSCRIPT and the threshold Rpacthsuperscriptsubscript𝑅𝑝𝑎𝑐𝑡R_{pac}^{th}italic_R start_POSTSUBSCRIPT italic_p italic_a italic_c end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_t italic_h end_POSTSUPERSCRIPT. Fig. 14 and 14 depict the cumulative distributions of end-to-end delay under two different rates in system with Ka band ISLs, while Fig. 15 and 15 show that in system with laser band ISLs. It can be observed that the average end-to-end delay increases with Rpacsubscript𝑅𝑝𝑎𝑐R_{pac}italic_R start_POSTSUBSCRIPT italic_p italic_a italic_c end_POSTSUBSCRIPT in both systems, and comparing with Type I strategies, our proposal can reduce the average end-to-end delay by more than 200ms in all cases.

VII-D3 Packet Drop Rate and Average System Throughput

Packet drop rate is the ratio of the total number of packets dropped by system to the total number of packets generated in system during the simulation period, and it can be further defined as [47]

Packet Drop Rate=Number of dropped packetsNumber of generated packets.Packet Drop RateNumber of dropped packetsNumber of generated packets\centering\text{Packet Drop Rate}=\frac{\text{Number of dropped packets}}{% \text{Number of generated packets}}.\@add@centeringPacket Drop Rate = divide start_ARG Number of dropped packets end_ARG start_ARG Number of generated packets end_ARG . (45)

Fig. 14 and Fig. 15 show the variation of packet drop rate in the two systems, and it can be observed that our proposal always has the smallest packet drop rate. Consequently, on account of the the lowest end-to-end delay and the smallest packet drop rate, our proposal markedly enhances system throughput as shown in Fig. 14 and Fig. 15. Comparing with Type I strategies, our proposal can improve system throughput by more than 116.99% in system with Ka band ISLs and over 104.73% in system with laser band ISLs. Furthermore, in contrast to Type II strategies, our proposal can improve system throughput with the increase of 13.29% and 32.5%, respectively.

VII-D4 Packet forwarding rate

Fig. 14 and Fig. 14 represent the packet drop rate and average throughput of system with Ka band ISLs at double packet forwarding rate, while Fig. 15 and Fig. 15 illustrate the relevant performances of the system with laser band ISLs. Comparing Fig. 14 with Fig. 14 (or Fig. 15 with Fig. 15), it can be found that packet drop rate will significantly decrease at the same Rpacsubscript𝑅𝑝𝑎𝑐R_{pac}italic_R start_POSTSUBSCRIPT italic_p italic_a italic_c end_POSTSUBSCRIPT. This is because that as packet forwarding rate increases, packets can be forwarded more efficiently, and the packets stored in each node become less, which leads to the reduction in packet drop rate. Moreover, as the packet drop rate reduces, average throughput in both systems will achieve a significant improvement. Comparing Fig. 14 and Fig. 14, it can be reviewed that when the packet forwarding rate is increased by a factor of two, the upper bound of system throughput will be boosted by nearly 200% as well.

VIII Conclusions

In this paper, to address the challenge of large end-to-end forwarding hops in mega constellations, we have proposed a distributed satellite-terrestrial cooperative routing approach by jointly considering the minimum end-to-end hop-count and queuing delay constraints. Particularly, to achieve an accurate and low-complexity minimum end-to-end hop-count estimation, we have first introduced a geographic region division method of the earth’s surface and realized the transformation of 3D constellation into a 2D graph RTPG by calculating in which region each satellite is located. Next, by extracting key nodes in RTPG, we create the key node based graph KNBG. Utilizing KNBG as input, a low complexity minimum end-to-end hop-count estimation method KNBG-MHCE has been designed for satellite-terrestrial cooperative routing. Meanwhile, we have analyzed some properties of our proposal and designed the packet format for practical implementation. Finally, based on simulation results, we have discussed the relationship between system throughput and parameters such as sending buffer queue and packet arrival rate. It has also been verified that our proposal can significantly reduce the end-to-end delay and improve system throughput compared to the other two types of routing strategies.

Owing to the superior performance of our proposal, the proposed routing strategy can be used to guide packet forwarding in future mega LEO satellite constellations such as Starlink. Under these mega constellations, our proposal can not only significantly reduce the end-to-end routing hop-count, lower end-to-end delay, and improve system throughput, but also ensure low complexity and overhead in routing table construction. Based on the source routing paradigm and the designed packet format, our proposal can be naturally converged with IP protocol by extending the header of IP packet, which brings convenience for practical implementation. In addition, using medium earth orbit (MEO) satellites for cooperative routing to reduce the end-to-end routing hop-count is also a promising area, and this will be conducted in our future work.

References

  • [1] Y. Sun, M. Peng, S. Zhang et al., “Integrated satellite-terrestrial networks: architectures, key techniques, and experimental progress,” IEEE Netw., vol. 36, no. 6, pp. 191–198, Dec. 2022.
  • [2] H. Xu et al., “Joint beam scheduling and beamforming design for cooperative positioning in multi-beam leo satellite networks,” IEEE Trans. Veh. Technol., 2023, doi: 10.1109/TVT.2023.3332142.
  • [3] M. Hu, M. Xiao, Y. Hu et al., “Software defined multicast using segment routing in leo satellite networks,” IEEE Trans Mob Comput, vol. 23, no. 1, pp. 835–849, Oct. 2022.
  • [4] H. Zhang, C. Jiang, J. Wang et al., “Multicast beamforming optimization in cloud-based heterogeneous terrestrial and satellite networks,” IEEE Trans. Veh. Technol., vol. 69, no. 2, pp. 1766–1776, Dec. 2019.
  • [5] I. Leyva-Mayorga, B. Soret, and P. Popovski, “Inter-plane inter-satellite connectivity in dense leo constellations,” IEEE Trans. Wirel. Commun., vol. 20, no. 6, pp. 3430–3443, Jun. 2021.
  • [6] Y. Feng et al., “Performance analysis in satellite communication with beam hop** using discrete-time queueing theory,” IEEE Internet Things J., Nov. 2023.
  • [7] R. Wang, M. A. Kishk, and M.-S. Alouini, “Stochastic geometry-based low latency routing in massive leo satellite networks,” IEEE Trans Aerosp Electron Syst, vol. 58, no. 5, pp. 3881–3894, Aug. 2022.
  • [8] N. Zhang, Z. Na, J. Tao et al., “Time-varying graph and binary tree search based routing algorithm for leo satellite networks,” IEEE Trans. Veh. Technol., pp. 1–6, 2023, doi:10.1109/TVT.2023.3274134.
  • [9] F. Tang, H. Zhang, and L. T. Yang, “Multipath cooperative routing with efficient acknowledgement for leo satellite networks,” IEEE Trans Mob Comput, vol. 18, no. 1, pp. 179–192, Jan. 2019.
  • [10] S. Yuan et al., “Joint network function placement and routing optimization in dynamic software-defined satellite-terrestrial integrated networks,” IEEE Trans. Wirel. Commun., pp. 1–15, Oct. 2023, doi:10.1109/TWC.2023.3324729.
  • [11] L. Chen et al., “Delay-optimal cooperation transmission in remote sensing satellite networks,” IEEE Trans Mob Comput, Sept. 2023.
  • [12] M. Werner, “A dynamic routing concept for atm-based satellite personal communication networks,” IEEE J. Sel. Areas Commun., vol. 15, no. 8, pp. 1636–1648, Oct. 1997.
  • [13] R. Mauger and C. Rosenberg, “Qos guarantees for multimedia services on a tdma-based satellite network,” IEEE Commun Mag., vol. 35, no. 7, pp. 56–65, Jul. 1997.
  • [14] X. Deng, L. Chang, S. Zeng et al., “Distance-based back-pressure routing for load-balancing leo satellite networks,” IEEE Trans. Veh. Technol., vol. 72, no. 1, pp. 1240–1253, Sep. 2022.
  • [15] Z. Han, C. Xu, G. Zhao et al., “Time-varying topology model for dynamic routing in leo satellite constellation networks,” IEEE Trans. Veh. Technol., vol. 72, no. 3, pp. 3440–3454, Mar. 2023.
  • [16] F. Li, S. Chen, M. Huang et al., “Reliable topology design in time-evolving delay-tolerant networks with unreliable links,” IEEE Trans Mob Comput, vol. 14, no. 6, pp. 1301–1314, Jun. 2015.
  • [17] M. Huang, S. Chen, Y. Zhu et al., “Topology control for time-evolving and predictable delay-tolerant networks,” IEEE Trans Comput, vol. 62, no. 11, pp. 2308–2321, Nov. 2013.
  • [18] A. Casteigts, P. Flocchini, W. Quattrociocchi et al., “Time-varying graphs and dynamic networks,” in Ad-hoc, Mobile, and Wireless Networks: 10th International Conference, ADHOC-NOW 2011, Paderborn, Germany, Jul. 2011, pp. 346–359.
  • [19] J. Li, H. Lu, K. Xue et al., “Temporal netgrid model-based dynamic routing in large-scale small satellite networks,” IEEE Trans. Veh. Technol., vol. 68, no. 6, pp. 6009–6021, Apr. 2019.
  • [20] J. A. Fraire and E. L. Gasparini, “Centralized and decentralized routing solutions for present and future space information networks,” IEEE Netw., vol. 35, no. 4, pp. 110–117, Aug. 2021.
  • [21] J. Wang, F. Xu, and F. Sun, “Benchmarkinng of routing protocols for layered satellite networks,” in The Proceedings of the Multiconference on” Computational Engineering in Systems Applications”, Bei**g, China, Oct. 2006, pp. 1087–1094.
  • [22] H. Yang, B. Guo, X. Xue et al., “Interruption tolerance strategy for leo constellation with optical inter-satellite link,” IEEE Trans. Netw. Service Manag, 2023, doi:10.1109/TNSM.2023.3274638.
  • [23] T. Taleb et al., “Explicit load balancing technique for ngeo satellite ip networks with on-board processing capabilities,” IEEE ACM Trans Netw, vol. 17, no. 1, pp. 281–293, Feb. 2009.
  • [24] Q. Chen, X. Chen, L. Yang et al., “A distributed congestion avoidance routing algorithm in mega-constellation network with multi-gateway,” Acta Astronaut., vol. 162, pp. 376–387, May. 2019.
  • [25] G. Song, M. Chao, B. Yang et al., “Tlr: A traffic-light-based intelligent routing strategy for ngeo satellite ip networks,” IEEE Trans. Wirel. Commun., vol. 13, no. 6, pp. 3380–3393, Jun. 2014.
  • [26] Y. Lu, Y. Zhao, F. Sun et al., “Enhancing transmission efficiency of mega-constellation leo satellite networks,” IEEE Trans. Veh. Technol., vol. 71, no. 12, pp. 13 210–13 225, Dec. 2022.
  • [27] Z. Lin, H. Li, J. Liu et al., “Inter-networking and function optimization for mega-constellations,” in 2022 IFIP Networking Conference (IFIP Networking), Catania, Italy, Jun. 2022, pp. 1–9.
  • [28] G. Fan, H. Li, J. Liu et al., “User-driven flexible and effective link connection design for mega-constellation satellite networks,” in 2023 International Wireless Communications and Mobile Computing (IWCMC), Marrakesh, Morocco, Jun. 2023, pp. 793–799.
  • [29] H. Yan, Q. Zhang, and Y. Sun, “A novel routing scheme for leo satellite networks based on link state routing,” in 2014 IEEE 17th International Conference on Computational Science and Engineering, Chengdu, China, Dec. 2014, pp. 876–880.
  • [30] H. Li, H. Zhang, L. Qiao et al., “Queue state based dynamical routing for non-geostationary satellite networks,” in 2018 IEEE 32nd International Conference on Advanced Information Networking and Applications (AINA), Krakow, Poland, May. 2018, pp. 1–8.
  • [31] H. Nishiyama, Y. Tada, N. Kato et al., “Toward optimized traffic distribution for efficient network capacity utilization in two-layered satellite networks,” IEEE Trans. Veh. Technol., vol. 62, no. 3, pp. 1303–1313, Mar. 2012.
  • [32] Q. Chen, L. Yang, X. Liu et al., “Multiple gateway placement in large-scale constellation networks with inter-satellite links,” INT J SATELL COMM N, vol. 39, no. 1, pp. 47–64, Jan. 2021.
  • [33] Q. Chen, G. Giambene, L. Yang et al., “Analysis of inter-satellite link paths for leo mega-constellation networks,” IEEE Trans. Veh. Technol., vol. 70, no. 3, pp. 2743–2755, Mar. 2021.
  • [34] A. U. Chaudhry and H. Yanikomeroglu, “Laser intersatellite links in a starlink constellation: A classification and analysis,” IEEE Veh. Technol. Mag., vol. 16, no. 2, pp. 48–56, Jun. 2021.
  • [35] M. Handley, “Delay is not an option: Low latency routing in space,” in Proceedings of the 17th ACM Workshop on Hot Topics in Networks, New York, USA, Nov. 2018, pp. 85–91.
  • [36] J. Iridium, “Perfectly in sync, while traveling more than 30,000 kilometers per hour,” 2022.
  • [37] M. Albulet, “Spacex non-geostationary satellite system: Attachment a technical information to supplement schedules,” US Fed. Commun. Comm., 2016.
  • [38] Q. Zhu, H. Tao, Y. Cao et al., “Laser inter-satellite link visibility and topology optimization for mega constellation,” Electronics, vol. 11, no. 14, p. 2232, Jul. 2022.
  • [39] Y. Lee and J. P. Choi, “Connectivity analysis of mega-constellation satellite networks with optical intersatellite links,” IEEE Trans Aerosp Electron Syst, vol. 57, no. 6, pp. 4213–4226, Dec. 2021.
  • [40] M. Mohorcic, A. Svigelj, G. Kandus et al., “Demographically weighted traffic flow models for adaptive routing in packet-switched non-geostationary satellite meshed networks,” Comput. Netw., vol. 43, no. 2, pp. 113–131, Oct. 2003.
  • [41] Q. Chen, L. Yang, X. Liu et al., “Multiple gateway placement in large-scale constellation networks with inter-satellite links,” Int. J. Satell. Commun. Netw., vol. 39, no. 1, pp. 47–64, Jan. 2021.
  • [42] J. Tao, Z. Na, B. Lin et al., “A joint minimum hop and earliest arrival routing algorithm for leo satellite networks,” IEEE Trans. Veh. Technol., pp. 1–13, Jan. 2023.
  • [43] J. Zhu et al., “Timing advance estimation in low earth orbit satellite networks,” IEEE Trans. Veh. Technol., 2023, doi: 10.1109/TVT.2023.3325328.
  • [44] X. Zhang, J. Wang, C. Jiang et al., “Robust beamforming for multibeam satellite communication in the face of phase perturbations,” IEEE Trans. Veh. Technol., vol. 68, no. 3, pp. 3043–3047, Jan. 2019.
  • [45] S. Yuan et al., “Joint beam direction control and radio resource allocation in dynamic multi-beam leo satellite networks,” IEEE Trans. Veh. Technol., pp. 1–15, 2024, doi: 10.1109/TVT.2024.3353339.
  • [46] G. Stock, J. A. Fraire, and H. Hermanns, “Distributed on-demand routing for leo mega-constellations: A starlink case study,” in 2022 11th Advanced Satellite Multimedia Systems Conference and the 17th Signal Processing for Space Communications Workshop (ASMS/SPSC), Graz, Austria, Sep. 2022, pp. 1–8.
  • [47] C. Li, W. He, H. Yao et al., “Knowledge graph aided network representation and routing algorithm for leo satellite networks,” IEEE Trans. Veh. Technol., vol. 72, no. 4, pp. 5195–5207, Nov. 2022.
[Uncaptioned image] Xin’ao Feng received the bachelor’s degree in information and communication engineering from Bei**g University of Posts and Telecommunications, Bei**g, China, in 2022. He is currently working toward a Ph.D degree in the State Key Laboratory of Networking and Switching Technology, Bei**g University of Posts and Telecommunications, Bei**g, China. His research interests include routing technologies, LEO satellite communications and mega-constellation networks.
[Uncaptioned image] Yaohua Sun received the bachelor’s degree (Hons.) in telecommunications engineering (with management) and the Ph.D. degree in communication engineering from Bei**g University of Posts and Telecommunications (BUPT), Bei**g, China, in 2014 and 2019, respectively. He is currently an Associate Professor with the School of Information and Communication Engineering, BUPT. His research interests include intelligent radio access networks and LEO satellite communication. He has published over 30 papers including 3 ESI highly cited papers. He has been a Reviewer for IEEE Trans. Commun., IEEE Trans. Mob. Comput., etc.
[Uncaptioned image] Mugen Peng (Fellow, IEEE) received the Ph.D. degree in communication and information systems from the Bei**g University of Posts and Telecommunications, Bei**g, China, in 2005. In 2014, he was an Academic Visiting Fellow at Princeton University, Princeton, NJ, USA. He joined BUPT, where he has been the Dean of the School of Information and Communication Engineering since June 2020, and the Deputy Director of the State Key Laboratory of Networking and Switching Technology since October 2018. He leads a Research Group focusing on wireless transmission and networking technologies with the State Key Laboratory of Networking and Switching Technology, BUPT. His main research interests include wireless communication theory, radio signal processing, cooperative communication, self-organization networking, non-terrestrial network, and Internet of Things. He was a recipient of the 2018 Heinrich Hertz Prize Paper Award, the 2014 IEEE ComSoc AP Outstanding Young Researcher Award, and the Best Paper Award in IEEE ICC 2022, JCN 2016, and IEEE WCNC 2015. He is/was on the Editorial or Associate Editorial Board of IEEE Commun. Mag., IEEE Netw., IEEE Internet Things J., IEEE Trans. Veh. Technol., and IEEE Trans. Netw. Sci. Eng., etc.