## 3 Routing Approach Used-Snnr  
### Latency-Packet-Loss-Optimized Routing Objective  
The main goal of our work is to optimize both the delay and packet loss in delivering satellite data using multiple paths comprised of the ISLs and IOLs between the satellite node, \(s\), and a ground station, \(g\). Between \(s\) and \(g\), multiple satellite gateway nodes are connected by ISLs or IOLs to relay or route data bundles via multiple paths. The selection of a link/path impacts the end-to-end response time and the packet loss percentage of delivering data depending on the atmospheric condition on the links, the distance between two gateway nodes, the processing time by the gateway nodes, the traffic on the links, contact availability, and the sending rate. In the CSG approach, the routing algorithm runs on each gateway node and selects an outbound link based on the routing goal. From a gateway node \(u\) to another gateway node \(v\) along a path from \(s\) to \(g\), selecting a link \(i\) from a set of links \(i=1,2,\ldots,N\) at an instance \(t\) involves a cost, \(cost_{i}^{t}\) due to the delay and the packet loss at that instance. The cost of using a link \(i\) at a time \(t\), \(cost_{i}^{t}\), is computed as follows. The delay on the link \(i\) to deliver a bundle from \(u\) to \(v\) at time \(t\) is computed as  
\[delay_{i}=transmissionTime_{i}^{t}+stallTime_{i}^{t}, \tag{1}\]  
where \(transmissionTime_{i}^{t}\) includes the queuing delay at the egress at node \(u\) and \(stallTime_{i}^{t}\) is the disruption time associated with the link \(i\) based on the contact plan using the shortest path from \(s\) to \(g\) at time \(t\). The packet loss ratio is computed as  
\[bundleLossRatio_{i}^{t}=\frac{(forwardBundlesSent_{i}^{t}-backward ReportsReceived_{i}^{t})}{forwardBundlesSent_{i}^{t}}, \tag{2}\]  
where \(forwardBundlesSent_{i}^{t}\) represents the number of data bundles sent on the link \(i\) from \(u\) to \(v\) at \(t\) and \(backwardBportsReceived_{i}^{t}\) represents the acknowledgment reports that specify the number of bundles received by \(v\) on the link \(i\) at \(t\).  
Our goal is to select a link \(i\) with a minimum cost for delivering data bundles from \(u\) to \(v\) from the set of available multiple links \(i=1,2,\ldots,N\) at each instance \(t\). In this work, we computed the \(cost_{i}^{t}\) of delivering each bundle using the simplified inverse [PERSON]'s power metric proposed in [20]. With the routing approach of snnr, the \(cost_{i}^{t}\) of sending a bundle on a link \(i\) at an instance \(t\) is computed using the ratio of (1) and (2) as below.  
\[cost_{i}^{t}=\frac{delay_{i}^{t}}{(1-bundleLossRatio_{i}^{t})}, \tag{3}\]  
where the denominator \((1-bundleLossRatio_{i}^{t})\) represents the number of bundles successfully delivered on the link at \(t\). If the \(bundleLossRatio_{i}^{t}\) on link \(i\) is high, the denominator will be a small value, leading to an increased delay. In contrast, if the \(bundleLossRatio_{i}^{t}\) is small, the denominator will be a high value, leading to less delay. Thus, the denominator of the equation (3) helps achieve the combined optimization of both the delay and packet loss. The goal is to select a link \(i\) at each time instance \(t\), i.e.,  
\[\min_{1\leq i\leq N}cost_{i}^{t} \tag{4}\]