The routing algorithm for hybrid satellite networks is proposed based on a weighted graph model to solve the QoS routing problem in BHSCCS. The metric selection of the proposed technique based on optimization with the relationship ratio of QoS metric for tripleplay services which have strict requirements on bandwidth, delay variations, and availability. Hence, five significant dynamic parameter functions are considered. The first metric is the propagation link delay, which is determined by an advanced propagation delay model from the source to the destination. The second metric is the queuing delay. It is affected by the traffic load on a particular satellite and its outgoing links, as the packet traverses varying traffic gateways. The third metric is link hop count. The fourth metric is link utilization in which the throughput part of all the next neighborhood nodes confirms the best path. The fifth metric is link length that chooses the shortest link between user/trunk stations to both satellites. The five matrices are used to reduce the endtoend link delays, deteriorate the rerouting frequency, and chose the best route path in the routing table.
5.1 Endtoend delay metric
The metric that considers the endtoend delay [20–22] measures the time taken for a message to journey from the source to the destination. In a network, variations of the endtoend delay are bounded by the variations of the propagation, processing, and transmission delays. It also impacts the experience for tripleplay services. Therefore, we will calculate all of the wired and wireless networks. Figure 3 illustrate the endtoend delay metric of the simulation model. E
_{1} is the sum of a propagation delay for a source uplink into a satellite node. E
_{2} is the sum of a propagation delay for a source downlink into a trunk station. E
_{3} is the sum of a propagation delay for a highspeed Internet backbone. E
_{4} is the sum of a trunk station propagation delay for a destination uplink into a satellite node. E
_{5} is the sum of a propagation delay for a destination downlink into a destination node. Then, the advanced E2E propagation delay (P
_{d}) can be calculated using the following Eq. (8). The goal of this metric is finding the lowest endtoend delay in the network route.
The endtoend delay (P
_{d}) can be calculated as
$$\begin{array}{@{}rcl@{}} E_{1} &=& \frac{d_{\text{ts\_src}}}{c}+\frac{L}{B_{1}}+P \end{array} $$
((1))
$$ \begin{aligned} {d_{\text{ts\_src}}} = \sqrt{(x_{\text{sat}}{x_{\text{term}}})^{2} + (y_{\text{sat}}{y_{\text{term}}})^{2} + (z_{\text{sat}}{z_{\text{term}}})^{2}} \end{aligned} $$
((2))
$$\begin{array}{@{}rcl@{}} E_{2} &=& \frac{d_{\text{st\_src}}}{c}+D+\frac{L}{B_{1}}+P \end{array} $$
((3))
$$ \begin{aligned} {d_{\text{st\_src}}} = \sqrt{(x_{\text{term}}{x_{\text{sat}}})^{2} + (y_{\text{term}}{y_{\text{sat}}})^{2} + (z_{\text{term}}{z_{\text{sat}}})^{2}} \end{aligned} $$
((4))
$$\begin{array}{@{}rcl@{}} E_{3} &=& ((N1).T_{\text{cross}})+\left(N.D+\frac{L}{B_{2}}+P\right) \end{array} $$
((5))
$$\begin{array}{@{}rcl@{}} E_{4} &=& \frac{d_{\text{ts\_dst}}}{c}+\frac{L}{B_{1}}+P \end{array} $$
((6))
$$\begin{array}{@{}rcl@{}} E_{5} &=& \frac{d_{\text{st\_dst}}}{c}+D+\frac{L}{B_{1}}+P \end{array} $$
((7))
$$\begin{array}{@{}rcl@{}} P_{\mathrm{d}} &=& (E_{1}+E_{2}+E_{3}+E_{4}+E_{5}) \end{array} $$
((8))
where:
$$\begin{aligned} &x_{\text{sat}}=(R+h).\cos\theta_{\text{sat}}.\cos\emptyset_{\text{sat}} &&x_{\text{term}}=R.\cos\theta_{\text{term}}.\cos\emptyset_{\text{term}}\\ &y_{\text{sat}}=(R+h).\cos\theta_{\text{sat}}.\sin\emptyset_{\text{sat}} &&y_{\text{term}}=R.\cos\theta_{\text{term}}.\sin\emptyset_{\text{term}}\\ &z_{\text{sat}}=(R+h).\sin\theta_{\text{sat}} &&z_{\text{term}}=R.\cos\theta_{\text{term}}\\ &\theta=\text{latitude} \quad\quad\quad\quad\quad\quad\quad\quad \emptyset=\text{longitude} &&R=6378.137~\text{Km} \ (\text{earth radius})\\ &c=299792~\text{Km/s (light speed)} &&h=1000~\text{Km}\\ &D=2~\text{ms (processing delay of node)} &&L=\text{length of data} \\ &P=1~\text{ms (deviation delay)} &&N=\text{number of nodes in the path}\\ &B_{1}=\text{bit ratio of satellite link} &&B_{2}=\text{bit ratio of Internet backbone}\\ &T_{\text{cross}}= 5~\text{ms (propagation delay of Internet backbone)}\\ &d_{\text{ts\_dst}}=\text{uplink of destination following with equation}\ 2\\ &d_{\text{st\_dst}}= \text{downlink of destination following with equation}\ 4 \end{aligned} $$
5.2 Queuing delay metric
Based on the queuing theory and the Little’s equation [23, 24], the queuing delay and some parameters of node link state information can be deduced from the open Jackson queuing [23] network which is used as the queuing delay model. Hence, the average service rate of node i can be written as (9). For realistic traffic density in the Internet backbone in each continent, we adopt the generated traffic load which depends upon the statistics regarding user’s traffic density levels per zone [13, 25]. Thus, all the traffic user nodes will be sent fitting with a traffic generating module built on each node to simulate the traffic generated by users. Therefore, this metric will avoid heavy network traffic from the source to the destination.
$$\begin{array}{@{}rcl@{}} \mu_{i} = \frac{C_{o}}{L} \end{array} $$
((9))
The service delay, t
_{s}, is calculated by
$$\begin{array}{@{}rcl@{}} t_{\mathrm{s}} &=& \frac{1}{\mu_{i}} \end{array} $$
((10))
The pending delay, t
_{p}, in a queue is given by
$$\begin{array}{@{}rcl@{}} t_{\mathrm{p}} &=& \frac{\lambda_{i}}{\mu_{i}(\mu_{i}\lambda_{i})} \end{array} $$
((11))
Finally, the queuing delay of a node link, E
_{q}, can be obtained as
$$\begin{array}{@{}rcl@{}} E_{\mathrm{q}} &=& t_{\mathrm{s}}+t_{\mathrm{p}} = \frac{1}{\mu_{i}  \lambda_{i}} = \frac{L}{C_{o}  L * \lambda_{i}} \end{array} $$
((12))
where
$${} \begin{aligned} \lambda &= \text{arrival rate} \quad \quad \quad \mu = \text{service rate}\\ L &= \text{average packet size} \quad \quad \quad C_{o} = \text{node link capacity}\\ t_{\mathrm{s}} &= \text{average time spending packets in server per packet}\\ t_{\mathrm{p}} &= \text{average time spending packets in queue per packet} \end{aligned} $$
In the queuing delay metric, the queuing delay metric over BHSCCS, P
_{q}, can be calculated using
$$\begin{array}{@{}rcl@{}} P_{\mathrm{q}}&=& \Sigma^{m}_{i=1} E_{\mathrm{q}} \end{array} $$
((13))
5.3 Hop count metric
This metric provides the routing minimum hop count. Link quality for this metric is a binary term, which means that the link does either exist or does not exist. The primary advantage of this metric is its simplicity. Hence, the metric is less complicated when compared with other metrics. In wireless sensor networks, less hop count reducestransmission power of forwarded packet and prolongs the network life [20]. The hop count metric is
$$\begin{array}{@{}rcl@{}} P_{h} &=& \Sigma^{\text{hop}_{n}2}_{i=1} E_{h} \end{array} $$
((14))
where E
_{h} is the total amount of link hop count on the reachable path.
5.4 Link utilization metric
The link utilization metric denotes the number of bytes transported from the source to the destination per unit of time. It depends on the throughput offered by the least capable link [20]. Suppose the source node is m
_{1}, the destination node is m
_{
k
},(m
_{1},m
_{
k
}) represents the reachable path from m
_{1} to m
_{
k
}. Between the two nodes, they are n reachable paths existing, such as (m
_{1},m
_{11},m
_{12},…,m
_{1j
},…,m
_{
k
}),(m
_{1},m
_{21},m
_{22},…,m
_{2j
},…,m
_{
k
}),…,(m
_{1},m
_{
n1},m
_{
n2},…,m
_{
nj
},…,m
_{
k
}).
m
_{
nj
} means the no. j hop node of the no. n reachable path. Among the n path, the optimal path must exist and can be achieved from (15). It represents the minimum availability link utilization among hops from the source to the destination including the total amount of hops on the no. n, hop _{
n
}, reachable path [1].
Also, the link utilization has related with realistic traffic density. Hence, the statistics regarding user’s traffic density levels per zone [13, 25] on the above metric will come back to use in this metric again. All the Internet backbone nodes have a traffic load on each node to simulate the traffic generated.
The performance of link utilization is measured as defined in [26]. The goal of this metric is to maximize the efficiency link utilization from m
_{1} to m
_{
k
}.
Link utilization from node i to k, P
_{u}(m
_{1},m
_{
k
}), is defined as [1, 27].
$$\begin{array}{@{}rcl@{}} P_{\mathrm{u}}(m_{1},m_{k}) &=& min\{uz(m_{1},m_{n1}),\\&&uz(m_{ni},m_{n(i+1)},uz(m_{n(i+1)},m_{k})\},\\ &&i\in\, [\!1, \text{hop}_{n}2],n=1,2,3 \ldots \end{array} $$
((15))
where uz is the utilization of hop_{
n
} computed as the billing efficiency of data that can be sent between nodes.
5.5 Link length metric
A COMMStellation™ model is used in this research. The orbit parameters of every satellite in the COMMStellation™ system at a time point are obtained in a snapshot of the COMMStellation™ satellite constellation at one time point via NS2 [2, 28]. The differences of a snapshot of the satellite constellation are chosen at different time points. In the snapshot, we notice the satellite orbital parameters, which will be used to calculate the link parameters [28–30].
From the satellite orbit parameters, the required topology parameter can be calculated from the link length metric to find the best path between trunk/user stations and satellite nodes. For the three dimensional coordinates of satellite orbit, to calculate the link length between the satellite node A and satellite node B, the latitude and longitude of COMMStellation™ satellite orbit parameters are known by a snapshot of the satellite constellation. It is only needed to find the central angle, α. Figure 4 illustrates the threedimensional coordination of a satellite orbit. With the equation of distance between two nodes in threedimensional geometry, the following (16) can be derived. Hence, this metric will find the shortest link length between satellite and ground station.
$$ \sin^{2} \frac{\alpha}{2} = \sin^{2} \frac{\varphi_{1}\varphi_{2}}{2}+\sin^{2}\frac{\delta_{1}\delta_{2}}{2}\cos\varphi_{1}\cos\varphi_{2} $$
((16))
where
$$\begin{aligned} &\varphi_{1}\ \text{and}\ \varphi_{2}\ \text{are the latitudes of satellite}\ A\ \text{and}\ B,\ \text{respectively}\\ &\delta_{1}\ \text{and}\ \delta_{2}\ \text{are the longitudes of satellite}\ A\ \text{and}\ B,\ \text{respectively} \end{aligned} $$
From Eq. (16), the value of α can be obtained. So the link distance between satellite nodes A and B, P
_{l}, is
$$\begin{array}{@{}rcl@{}} P_{\mathrm{l}}=AB=2R\sin\frac{\alpha}{2} \end{array} $$
((17))
where R is assumed to be the distance between the core of the earth and the satellite.
5.6 Apply the proposed routing technique to a hybrid satellite
In this paper, the performance of the proposed algorithm is evaluated based on the weight graph model. The routes are optimized against endtoend delay or any other linear costs in the deterministic case. Some of these techniques come from the transport optimization field. For nondeterministic networks, most of the early routing algorithms target delivery ratio as the premier objective, metrics such as delay, message size, or network load are secondary. Hence, the best performance indicator is delivery ratio instead of endtoend delay [18]. In this paper, the best routing path from the source to the destination is chosen using the proposed five metrics which are complicated due to the number of metrics that have been taken into account.
The ORPHSN algorithm is implemented on BHSCCS [2, 26]. The ORPHSN algorithm incorporates both inherent dynamics of hybrid satellite network topology and tripleplay services of traffic load in a COMMStellation™ system. Moreover, it applies perfectly to the contribution of the defined five metrics for characterizing routes in a hybrid network in order to reduce endtoend delay and determine the best path, while at the same time satisfying the QoS requirements.
Finally, the link cost metrics can be calculated as:
$$\begin{array}{@{}rcl@{}} Link_{cost}=P_{\mathrm{d}}+P_{\mathrm{q}}+P_{\mathrm{h}}+P_{\mathrm{u}}+P_{l} \end{array} $$
((18))
where P
_{d} denotes the propagation endtoend delay, P
_{q} denotes a predicted value of the queuing delay, P
_{h} denotes the hop count in a path, P
_{u} denotes the link utilization value for each link delay, and P
_{l} denotes the link length between satellite and ground.
5.7 Weighted graphs methodology with QoS routing metric
This algorithm is based on the Dijkstra’s algorithm [31]. In the ORPHSN algorithm, the shortest part is defined as the minimumdelay path. The gridlike network graph structure is used to represent the physical network topology. It is modeled on the directed graph
$$\begin{array}{@{}rcl@{}} G(V,E) \end{array} $$
((19))
where V represents the comprising set of nodes and E represents the set of all existing connection links (edges) [32, 33]. Also, it is clear that the size of V is
$$\begin{array}{@{}rcl@{}} V=NM \end{array} $$
((20))
where M is the number of the route for packet pass throughout plane that the system is comprised of and N is the number of nodes per route plane.
By numbering the route planes and the nodes within a system, we can define a pair of numbers (v
_{
x
},v
_{
y
}), called virtual coordinates that uniquely identified a node. Clearly, v
_{
x
}∈(0,N) identifies the position of a node within a route plane, while v
_{
y
}∈(0,M) identifies the route plane.
Based on the system model described on the weight graph methodology, [34] an efficient method to route a packet from a source node, \(v^{s}=\left ({v_{x}^{s}},{v_{y}^{s}}\right)\), to a destination node, \(v^{d}=\left ({v_{x}^{d}},{v_{y}^{d}}\right)\), is the hopbyhop approach [34]. The possible next hop is chosen if the L
i
n
k
_{
cost
} between the endtoend delay of the virtual node in vertical and horizontal directions, approaches 1. A neighboring node v
^{j} will be selected as the possible next hop if
$$ {v_{x}^{d}}{v_{x}^{j}}<{v_{x}^{d}}{v_{x}^{i}} \ or \ {v_{y}^{d}}{v_{y}^{j}}<{v_{y}^{d}}{v_{y}^{i}}, Link_{cost}\approx1 $$
((21))
This process guarantees that the chosen paths are in the set of the optimization paths. It is used for a specific identification method into the Link_{cost} value to the nearest one. Each metric has different cost value. Also, the Graph Topology Representation (GTR) is described as follows:

1)
Construct a directed graph G(V,E) and arrange the vertices to form a gridlike structure with n rows and m columns. The following (19) and (20) can be derived.

2)
Use the initial link assignment in a routing table. In topological estimation stage, all nodes and links in the network will be traversed; it has to gain cumulative cost values from nodes.

3)
Process each metric by Eqs. (8), (13), (14), (15), and (17) into a mapping table of each according metric value.

4)
Process L
i
n
k
_{
cost
} following (21) with all the paths in a routing table. Then, compare the cost of the link in the routing table value to the nearest one to set a path list for traveler information.
After the source node had all paths listed from the source to the destination, the process of five metrics is calculated into the mapping table for each metric. For instance, in link utilization, the metric is considered the maximum utilization based on endtoend nodes which process by (15) and take the P
_{u} into a mapping table of P
_{u} according link utilization. After that, the process will have mapping tables of each metric. To complete, Eq. (21) makes a calculation for all path lists in the routing table. Then, each path has Link_{cost} of itself.
The ORPHSN algorithm follows up the calculation into a routing table. In every call request from the source to the destination, the G(V,E) will be constructed in order to find the feasible path. The ORPHSN algorithm considers a feasible path as the path that satisfies bounded requirements for each cost metric. Here, the optimized weight path from the source to the destination in the graph made by GTR corresponds to the optimized cost path in the network graph.