Formulas and algorithms for optimizing the performance of rapidly changing satellite networks

MISSING IMAGE

Material Information

Title:
Formulas and algorithms for optimizing the performance of rapidly changing satellite networks
Physical Description:
x, 104 leaves : ill. ; 28 cm.
Language:
English
Creator:
McLochlin, Charles D
Publication Date:

Subjects

Subjects / Keywords:
Artificial satellites in telecommunication   ( lcsh )
Electric network topology   ( lcsh )
Genre:
bibliography   ( marcgt )
theses   ( marcgt )
non-fiction   ( marcgt )

Notes

Thesis:
Thesis (Ph. D.)--University of Florida, 1989.
Bibliography:
Includes bibliographical references (leaves 101-103).
Statement of Responsibility:
by Charles D. McLochlin.
General Note:
Typescript.
General Note:
Vita.

Record Information

Source Institution:
University of Florida
Rights Management:
All applicable rights reserved by the source institution and holding location.
Resource Identifier:
aleph - 001483601
notis - AGZ5650
oclc - 21085419
System ID:
AA00003348:00001

Full Text








FORMULAS AND ALGORITHMS FOR OPTIMIZING THE
PERFORMANCE OF RAPIDLY CHANGING SATELLITE NETWORKS






By

CHARLES D. MCLOCHLIN


A DISSERTATION PRESENTED TO TIE GRADUATE SCHOOL
OF THE UNIVERSITY OF FLORIDA IN
PARTIAL FULFILLMENT OF THE REQUIREMENTS
FOR THE DEGREE OF DOCTOR OF PHILOSOPHY



UNIVERSITY OF FLORIDA


1989



























Copyright 1989

by

Charles McLochlin













ACKNOWLEDGEMENTS


Dr. Chow and Dr. Newman-Wolf deserve thanks for directing my research and

providing guidance in the writing of this dissertation. I would also like to thank the

other committee members for their helpful comments.

Dr. Principe and Dr. Papachristidis expanded my way of thinking and without

their help I would not have completed the requirements for the Ph. D. degree.

Dr. Christopher Ward provided the Latex macros for the formating of this dis-

sertation.

Financial support for this research was supplied in part by an SDIO/IST con-

tract administered by the Department of Navy, Space and Naval Warfare Systems

Command under contract number N00039-87-C-0221.





















TABLE OF CONTENTS


ACKNOWLEDGEMENTS


LIST OF TABLES ..............

LIST OF FIGURES .. .........

ABSTRACT ................

CHAPTERS

1 INTRODUCTION ........ ...


Scope . .
Principal Results ..
Chapter Synopsis ..


2 BACKGROUND .. .........................


2.1 Features of the SDI
") 9 Rei iremrnnt c


Architecture


I., 11 L t .,. .. .
Summary of Harris Work .........
Other Related Work ...........
Minimum Cost Flow Problem ......
Disjoint Paths of Minimum Total Cost


3 CLOSED FORMS FOR PROPAGATION DELAY AND CONNECTIVITY

3.1 M aximum Visibility Distance .. ..................
3.2 Minimum Altitude for the Np.N., Topology .. ...........
3.3 Minimum Propagation Delay for the Np,.s Topology .. .......
3.4 Maximum Propagation Delay for the Np..s Topology .. ......
3.5 Node Connectivity . . . .
3.6 Optimizing the Delay and Cununctivitl .............

4 ALGORITHMS FOR COMPUTING PROPAGATION DELAY .....

4.1 Minimum Propagation Delay Algorithm .. .............
4.2 Time Average and Maximum Propagation Delay Algorithm ....


. Vii


. . 1


S. 1
3
4
. 3
. 4


.














5 ANALYSIS OF A 2-LEVEL HIERARCHICAL MODEL ... ........ 39

5.1 Definition and Description of the Model .... ............ .. 39
5.2 Minimum Altitude Derivation of Np.Ns Regions ... .. 41
5.3 Link Assignment ..... ... .. .............. 43
5.4 Queueing Delay of the Model .. ... .............. 49
5.5 Computing Dv,,q .. ................... .. 50
5.6 Importance of the Model .. .... ................... 52
5.7 Visibility Probability .. .... ............ 52
5.8 Conclusions... ............... . .... 52

6 K-PATHS OF MINIMUM TOTAL COST ... .. ........... 55

6.1 Fewest Repeated Nodes or Links .. .. .. .. ......... .355
6.1.1 Definitions .... ....... . .. 55
6.1.2 Discussion of the Approach .......... 57
6.1.3 Flow to Graph Constructs .. .............. .. 60
6.1.4 K-Paths Algorithm .. .. ....... . 62
6.1.5 Proofs ............. ...... . ... 65
6.1.6 Conclusions ................ .. 68
6.2 A Quick Algorithm for Disjoint Paths .. . 69
6.2.1 Discussion of the Approach . . 69
6.2.2 Disjoint Path Algorithms ..... ... . 70
6.2.3 Proofs ........... .. ...... .. .73
6.2.4 Conclusions ............... .. . 73

7 EVENT DRIVEN SIMULATION .... . ..... 74

7.1 Distributed Packet Level Simulation ... ............... 74
7.1.1 Objectives and Measurements .. .... ........ 75
7.1.2 Event Processing .. ............... 75
7.1.3 Hardware Architecture ..... ......... 76
7.1.4 Software Architecture ... .. .............. 77
7.1.5 Software Module Description ....... . ... 80
7.1.6 Conclusions .......................... 80
7.2 M/M/1 Queueing Level Simulator .. .............. 81
7.2.1 Total Delay ............... . 82
7.2.2 Transient Response .................. ... .. 83
7.2.3 Conclusions... ............ .............. .. 84

8 CONCLUSIONS .......... ................ .. 86

8.1 Significant Results .. ........ ... .... . 86
8.2 M etrics ... .. .. ... .. .. .. ........ 87
8.3 Association of Algorithms and Performance .. . 87
8.4 Extensions of the Research .. ... .. ... 88

APPENDICES

A NODE DISJOINT PATHS ....... ...... ... ......... 89













B DUAL DSP32 BOARD .......... ........ ... ...... 95

B.1 Hardware Operation .. .. .. .................. 95
B.2 Software Operation ............. . ..... 96
B.3 Satellite Node Software ........ . 99

REFERENCES ..................... ....... ..... 100

BIOGRAPHICAL SKETCH .... ... ......... 104






















LIST OF TABLES





3.1 Node Connectivity for Np, Ns Topologies .. ............

3.2 Minimum Altitude and Maximum Propagation Delay for Furthest Ter-

restrial P points . . . .


5.1 Propagation Delay of Np,Ns Topologies. Unlimited Antennas ..

5.2 Propagation Delay Using Np,Ns Mesh Link Assignment .. .....

5.3 Propagation Delay Using 24 Regions, Satellite Altitude = 1506 km

5.4 Davg Versus Altitude .. ........ .. .. ........

5.5 Probability of Two Satellites Being Visible .. ...........


Adjacency Matrix for Np = 2.

Node Disjoint Paths for Np =

Adjacency Matrix for Np = 2.

Node Disjoint Paths for Np =

Adjacency Matrix for Np = 2.

Node Disjoint Paths for Np =


Ns =


2. Xs





2.s =
2. NA.s



2. N.'


3 .

= 3

4 .

=4

3 .

= 3


. . 8 9

. . 90

. 9 1

. . 9 2

.. 93

. . 94



















LIST OF FIGURES




3.1 Maximum Tangential Visibility Distance . .. 12

3.2 Maximum Visibility Distance wit l Minimum Horizon Angle 13

3.3 Satellites 1.2.3.4 Looking down the Y-Axis .... ... 16

3.4 Minimum Path Distance Via Terminating Satellites .... 20


6.1 Finding a Minimum Cost Flow ....... . 58

6.2 Flow to Graph Constructs for Fewest Repeated Links ... 60

6.3 Flow to Graph Constructs for Fewest Repeated Nodes ... 61













Abstract of Dissertation Presented to the Graduate School
of the University of Florida, in Partial Fulfillment of the
Requirements for the Degree of Doctor of Philosophy



FORMULAS AND ALGORITHMS FOR OPTIMIZING TIIE
PERFORMANCE OF RAPIDLY CIIANGING SATELLITE NETWORKS

By

CHARLES MCLOCIILIN

May 1989

Chairman: Dr. Yuan-Chieh Chow
Cochairman: Dr. Richard Newman-Wolfe
Major Department: Computer and Informatlion Sciences


Rapidly changing satellite networks are now in the design stage. Interest in this

new area has been fostered by the Strategic Defense Initiative (SDI). Many SDI

architectures have been proposed, but because the technology has not been fully

developed and no satellite-to-satellite links exist, the architecture is only loosely

defined.

This dissertation considers the SDI communications network from a systems point

of view. Research was performed in the areas of topology, link assignment, routing,

models. and performance measures. At the systems level, these areas are closely

related. For example, consider the physical network which is a topology. In order

to determine the performance of the system model using packet delay as a metric, a

link assignment and routing algorithm are required.

The emphasis of this research was to develop link assignment and routing algo-

rithms for optimizing the performance of rapidly changing satellite network topolo-

gies. Performance measures for the link assignment included connectivity, retarget-

ing frequency, and propagation delay. Measures for routing include end-to-end delay.













rerouting frequency, and number of common satellites on multiple paths between ori-

gin and destination. Minimizing the number of common satellites on multiple paths

is an important consideration for survivable SDI communications and is a new area

of research. Efficient algorithms for this problen-i are presented.

The topology optimization of satellite networks used a model of Xp (orbit planes)

and Ns (satellites per orbit) which provided complete coverage of the earth at all

times. Closed formulas for the Np.Vs. model were derived for the minimum altitude.

minimum propagation delay, and maximum propagation delay. Algorithms were

developed to obtain minimum, average, and maximum propagation delav for arbitrary

single altitude topologies.

Optimization of link assignment for arbitrary topologies uses a 2-level hierarchical

model based on an Np,Ns region concept. The regions are circles which cover all

points on an arbitrary altitude shell. Level 1 satellites form a mesh backbone between

regions which contain level 2 satellites. This link assignment has an optimal connec-

tivity when satellites are constrained to have four antennas. An analytical solution

for the total delay of the 2-level hierarchical model is derived for region disjoint path

routing.

The routing research extends the minimum cost flow problem to include a mini-

mum number of common nodes on multiple paths. The general minimum cost flow

problem finds paths of minimum cost without regard to repeated nodes, which is

undesirable for survivable network routing.



















CHAPTER 1
INTRODUCTION


1.1 Scope

A new kind of communication network is evolving which incorporates satellite-

to-satellite links. Communication bandwidths of 10-100 megabits using full-duplex

laser cross-links are envisioned. The links will be redirected in order to optimize

performance or prevent network fragmentation. These networks will not use geosyn-

chronous orbiting satellites, hence continuous communication between earth stations

via a single satellite will not be possible. Interest in this new area has been fostered

by the Strategic Defense Initiative (SDI). The SDI requirements for sensing satel-

lites, weapon satellites, and battle manager satellites cannot be met by using only

the geosynchronous altitude of 35,744 km [1,5,9]. Lower altitudes afford a higher

resolution view of land-based enemy missiles, and higher altitudes offer a greater

immunity to attack. Consequently, sensor and weapon satellites are more effective

below the geosynchronous altitude and battle managers are more secure above.

Many SDI architectures have been proposed. but because the technology has not

been fully developed and no satellite-to-satellite links exist. the architecture is only

loosely defined. In addition, because SDI is a multi-service venture, the architecture

can vary to reflect each service's respective battle phase responsibility [2]. The three

battle phases with responsible service are:


1. Boost enemy vehicle lift-off (Air Force)

2. Midcourse warhead dispersement (Navy)













3. Terminal atmosphere re-entry (Army)


The architecture has been evolving and will continue to evolve as research progress is

made. The Harris Corporation has contributed to this research. They have been using

architectures provided by the Rome Air Development Center (RADC) and Naval

Research Laboratory (NRL). A summary of the published Harris work is provided in

Chapter 2.

A primary objective of the SDI communications network is that it must be sur-

vivable. The network should be able to adapt to jammed links, satellite losses, and

traffic pulses. In addition, the network should operate at near optimum performance

measures. Obviously, these are high goals and because the architecture is not firmly

established, many areas of research are available. This research proposal considers:


1. topology


2. link assignment


3. routing


4. models


5. performance measures


Although these areas are very diverse from a purely theoretical view. they are closely

related from a systems view. For example, consider the physical network which is a

topology. In order to determine the performance of the system model using packet

delay as a metric, a link assignment and routing algorithm are required.













1.2 Principal Results

The study of low-altitude satellite network topologies has resulted in the deriva-

tion of several important closed formulas and algorithms. These equations and al-

gorithms have been used to facilitate and reduce simulation of satellite networks.

In addition, they have been used to optimize single coverage satellite topologies.

References [26,27] provide simulation results and applications of the equations and

algorithms. The derivations and proofs are in reference [28]. The principal equations

derived include:


1. Maximum visibility distance of satellites with specified minimum horizon angle;

2. Minimum altitude of an Np (orbit planes), Ns (satellites per plane) satellite

topology with specified minimum horizon angle:

3. Minimum propagation delay between arbitrary points on the earth via an Np =

2, Ns > 3 topology with specified minimum horizon angle;

4. Maximum propagation delay for maximally separated points on the earth via

an Xp = [2.3.4.5], AVs = [2,4.6.8.10.12] topology at minimum altitude with

specified minimum horizon angle.


Two propagation delay algorithms are given with their pseudo-code and correct-

ness proofs. The algorithms

1. determine the minimum propagation distance for arbitrary points on the earth

separated by an arbitrary set of terrestrial arc distances, for a single altitude

topology and specified minimum horizon angle: and













2. determine the time average and maximum propagation delay between a set of

terrestrial source-destination pairs via a single altitude topology with specified

minimum horizon angle.

The minimum propagation delay algorithm is very efficient because it uses closed

formulas and dynamic programming rather than a grid search. The time average

and maximum propagation delay algorithm uses dynamic programming to provide a

speed-up of 10 over Dijksta's shortest path algorithm for a topology of 45 satellites

at 1000 km.

An p.,Ns region model was developed to evaluate 1he performance of arbitrary

2-altitude topologies. A closed form for the minimum altitude of the Np,Ns regions

is derived. Also an analytic solution for the total delay of a 2-level hierarchical

satellite network is presented. References [10,25] contain applications of the model

which include an optimal link assignment and survivable routing strategy for a region

disjoint structure.

Several multiple path routing algorithms have been developed which find K paths

of minimum cost. where cost is defined as delay or remaining time of path. In

addition, the K paths have a minimum number of common nodes and links. The

running time of finding the K paths from origin to destination is O(/n2) where n is

the number of satellites and K < a.

1.3 Chapter Synopsis

The chapters are ordered starting with topology and closed formulas for propa-

gation delay, then progress toward the multiple path algorithms and multiprocessor

simulation for the SDI communications network. Chapter 2 provides background ma-

terial on the features and requirements of the SDI architecture. Also, a brief review













of the Harris work and others on link assignment, routing, and simulation is pre-

sented. A general description of the minimum cost flow problem and path diversity

is also given. Chapters 3 and 4 provide derivations of the closed forms and algorithms

developed to reduce simulation time. These chapters also contain some simulation

results. Chapter 5 presents a 2-level hierarchical model which is used to derive the

total delay of a 2-altitude SDI architecture. Chapter 6 presents the K-paths algo-

rithms of minimum total cost. Chapter 7 discusses the multiprocessor simulation for

the SDI communications network. Finally. Chapter 8 contains the conclusions of this

dissertation.


















CIIAPTER 2
BACKGROUND

A brief overview of the SDI architecture issues and the published Harris work on

the communications network is provided in this chapter. Also a description of the

minimum cost flow problem and node disjoint path algorithms are given. Section 2.1

gives the features and 2.2 discusses the requirements. The second generation Harris

link assignment and routing strategy is given in section 2.3. and other relevant work

is presented in 2.4. The minimum cost flow problem is stated in section 2.5, and 2.6

discusses algorithms for node disjoint paths of minimum total cost.

2.1 Features of the SDI Architecture

The two basic capabilities of SDI are to sense enemy vehicles (missiles) and to

disable them. These capabilities are very diverse and, because of hardware special-

ization, separate satellite types called sensors and weapons have been proposed. In

addition, a third type of satellite called a battle manager is used to process sensor

reports and direct the weapons. Due to visibility resolution constraints, the sensor

and weapon satellites are placed in low-altitude orbits. Atmospheric drag poses a

lower limit of about 500 km.

There are many different solutions to the problem of assimilating sensor traffic and

disabling the corresponding targets as efficiently as possible. Each solution can be

used to define a different kind of architecture. NRL has defined an architecture which

reflects a compromise between a completely distributed architecture and a centralized

one. Approximately 12 battle manager satellites are used at an altitude of about













50,000 km. This high altitude offers a visibility probability between weapons and

sensors of 0.5 and also security from terrestrial attack. A weakness of this approach

is that enemy space mines need only disable 12 satellites to render SDI useless.

Cost reductions in laser links and sensors, along with advances in distributed

processing, may eliminate the need for a battle manager satellite. Hence a network

of sensors with high-speed processing capability would provide the battle manager

function, and sensors would direct the weapon satellites. This architecture has the

advantage of more graceful degradation with satellite loss. In addition, the commu-

nications delay between sensors and battle managers has been eliminated. Future

Harris work will use larger numbers of satellites, and the satellites will be less dis-

tinctive (i.e., a blending of sensor, weapon, and battle manager functions).

The SDI network will use high-bandwidth, point-to-point communications be-

tween sensor satellites. Broadcast links are also included in some architectures such

as the NRL plan, which uses time division multiplexing between the weapon and

battle manager satellites. A broadcast channel has also been proposed for finding

satellites which become disconnected from the network. However. because broad-

casting requires more power and is more vulnerable to jamming, point-to-point com-

munications are being substituted for broadcast links whenever practical.

2.2 Requirements

The two basic requirements for the SDI communications network are that it be

survivable and near optimum. Unfortunately. neither of these requirements have

unique definitions. Reference [32] gives survivability in terms of two measures: 1)

the end-to-end communications delay as a function of failed nodes in the weapons

network, and 2) the number of isolated nodes in the weapons network as a function













of the number of failed nodes. Reference [27] gives survivability in terms of connec-

tivity and ground coverage. The reason for so many different definitions is that there

are numerous performance measures for a communications network. Any of these

measures can be optimized, but no all single encompassing architecture will simul-

taneously optimize all measures. A classic contradiction for satellite networks is the

minimization of propagation delay (low altitude) and maximization of connectivity

(high altitude). Hence, survivability means many things. For purposes of this dis-

sertation. delay, connectivity, retargeting frequency, and number of common nodes

on multiple paths will be the measures of survivability. The first two choices are the

ones generally used for networks, the latter two being a specialization for SDI.

2.3 Summary of Harris Work

The link assignment algorithm performs three functions which include: (1) es-

tablishing and maintaining a single connected subnetwork. (2) connecting the sub-

networks into a single network, (3) optimizing the connectivity within subnetworks

[7]. The algorithm is run on all satellites. Each satellite has an identical copy of

the network connectivity table. A heuristic is used with various metrics consisting

of propagation delay, remaining link visibility, connectivity. queueing delay, etc., for

determining the link assignment.

The routing algorithm uses multiple disjoint paths for sending multiple message

copies [8]. The redundancy adds to the traffic flow. but offers greater survivability.

The disjoint paths are computed by using Max Flow. A heuristic is used for load

balancing which uses a metric of queueing delay and propagation delay.

2.4 Other Related Work

Reference [37] gives a link assignment algorithm and simulation data for ground

coverage and propagation delay vs. retargeting time. The link assignment algorithm













uses the all pairs propagation delay as an objective function. A heuristic is used to

minimize the propagation delay. The heuristic assigns links to adjacent neighbors

on the same plane and then connects satellites on adjacent planes until the number

of satellite antennas are exhausted. For four antennas and N ,, V, topologies, the

final link assignment is very similar to the \V, N., mesh link assignment described in

Chapter 5.

Reference [11] uses random and deterministic routing on two satellite constel-

lations to determine output statistics which include end-to-end delay and average

queue sizes. Chapter 5 derives similar results for the N\,,, A, mesh link assignment.

Reference [20] gives a hierarchical routing algorithm which is based on (1) a

hierarchical addressing scheme, (2) regional node routing architecture.

References [13,24] discuss simulation programs for satellite networks using a single

processor. Satellites are modeled as either procedures or processes. Both programs

were developed as tools to evaluate the performance of rapdily changing networks.

The programs are event driven.

2.5 Minimum Cost Flow Problem

The desire to reduce transportation costs and risks led to the formulation of this

problem in the late 1940s. Several routes and transportation media were available

between warehouses and troops. However, the capacity and cost (risk) varied with

the route. Several people from various countries worked independently on this prob-

lem during World War II. Two of the pioneers of this era later wrote a text [18]

which has become a classic on the subject of flow. The text contains algorithms for

solving various flow problems. Other researchers have improved the efficiency of the

algorithms, notably [15] which uses a flow augmentation along a shortest path [14].













The minimum cost flow problem can be solved by linear programming as suggested

in [12], but reference [29] describes this approach akin to killing a mouse with a

cannon. However, many theorems on flow are proved using the principle of linear

programming.

Some related work includes an algorithm for the minimum augmentation of a

directed tree to a K-edge-connected directed graph [23].

2.6 Disjoint Paths of Minimum Total Cost

References [19,35] constrained the general minimum cost flow problem to a capac-

ity of 1 and showed how finding node disjoint paths of minimum cost was as simple

as finding a shortest path. However, a similar problem. one of finding a maximum

number of bounded paths, is shown to be NP-complete in [21.33].

Efficiency improvements in Dijkstra's shortest path algorithm for sparse graphs

is given in [22] which uses a d-heap. This approach was later used in [36] for an

O(m log n) algorithm for finding two, edge disjoint paths between a single source and

n destinations on a graph of m edges.

Some related work to disjoint paths includes optimally reliable graphs [16] and

efficient all-pairs shortest-path algorithms [30].


















CHAPTER 3
CLOSED FORMS FOR PROPAGATION DELAY AND CONNECTIVITY

A simple model using Np orbit planes and .\s satellites per orbit is analyzed

to obtain closed formulas for measuring performance. The following sections contain

derivations of the performance metrics of propagation delav and connectivity. Section

3.1 gives the condition for satellite visibility with non-zero minimum horizon angle.

This condition applies to any single altitude topology. The minimum altitude for

complete coverage is produced in section 3.2. The minimum and maximum propaga-

tion delays are derived in sections 3.3 and 3.4 respectively. Connectivity is discussed

in section 3.5, and a proof that three, time invariant node disjoint paths exist for the

Np,Ns model is given. Finally, section 3.6 shows how the equations can be used for

topology optimization. An abbreviated version of this section is in [27].

3.1 Maximum Visibility Distance

Definitions:

1. Visibility direct line of sight exists between a point on the earth and a satellite

or between two satellites

2. Minimum horizon angle the minimum angle between a tangent to the earth

and a satellite

Symbols:

1. Re the radius of the earth, approx. 6378 km

2. A altitude









12


:3. H, horizon angle


Lemma 3.1: The maximum tangential distance at which a point on the earth and

a satellite have visibility at altitude A is


Dmi'2 = 1 + 2
.4 1 A


(3.1)


It follows that the maximum distance at which two satellites have visibility is

Dmax.


D max /2


Figure 3.1. Maximum Tangential Visibility Distance


Proof: The triangle with vertices at the center of the earth, the center of the

satellite, and the point of tangency on the earth is a right triangle. Orbital mechanics

requires every satellite orbit to be in a plane which includes the center of the earth.

By application of the Pythagorean theorem.



Dmaz/2 = A 1+2R-
4











Lemma 3.2: The maximum distance at which a point on the earth and a satellite
have visibility with minimum horizon angle H, is


(3.2)


D 2 = O()Dmax where
2 cos(0 + Ha)

S= arctan (Dm2R
\2R,


2


A


Figure 3.2. Maximum Visibility Distance with Minimum Horizon Angle


Proof: The equilateral triangles with satellite at altitude A and satellite at altitude
A' have a common base. Using the cosine relations of angle 0 and 0 + Ha results in


^ cos(0)Dma
D' /2 = cos(O)D,, where
maox 2cos(0 + H,)

0= arctan D(i )
( 2Re ,

Lemma 3.3: For some altitude A with zero minimum horizon angle, the new
altitude for a specified minimum horizon angle, H, is given by:















A -l -cos2(+ H) -(1 -cos(O))Re (3.3)

Proof: From figure 3.2, h' and A' can be expressed as:


h' = 1 cos2(0 + I,)

= h' (1 cos(0))I?

Hence the equation follows.

3.2 Minimum Altitude for tie \p.I.\. Topology

Definition of the Np,Ns Satellite Topology:


1. There are Ns equally spaced satellites per plane, with Ns > 3

2. There are Np equally spaced planes, with Np > 2

3. The Ns x Np satellites are at a single minimum altitude which provides com-

plete coverage of a spherical earth

4. The phase offset of the satellite planes is zero

5. All planes are rotated about one axis


Lemma 3.4: The locus of points on the earth Dmax/2 away from a satellite is a

circle of radius R,



RI, = I, (3.4)
2(R, + A)

Proof: Without loss of generality, assume the z-axis intersects the satellite. Using

spherical coordinates, the distance between a point on the earth and the satellite is:












satellite location earth location
S = 0 E = Re sin(El) cos(A:)
Sy = 0 Ey = R, sin(El) sin(Az)
S, = R, + A EZ = R, cos(El)


D' 4ax/ E 2 E + (E: S')'

This equation simplifies to cos(El) = R. Using the triangle in Lemma I.

sin(El) = -. Thus the circle

+ = i(Re+A)



has radius Re



R, = eDma
2(Re + A)

Lemma 3.5: For the Np,Ns topology with all orbital planes rotated about the x

axis, the hardest points to cover (fewest satellites overhead) are in the y-z plane.

Proof: Without loss of generality, let two adjacent orbital planes be rotated by

+I radians about the x-axis. Using polar coordinates with Az measured from the
x-axis in the x-y plane, a satellite location on the lower plane is given bv

x 1 0 0 (R + -A) cos(.4I)
S= 0 cos( ) n(2 ) ( +.4)sin(.4z)
z 0 -sin( ) cos( ) 0

The distance between satellites on adjacent orbital planes is given by the absolute

difference between their z coordinates which is 2(R, + A) sin(.Az) sin( -). Hence the

maximum distance occurs in the y-z plane at Az = 1 By Lemma 3.4 the earth

coverage provided by a satellite is a circle, so the hardest point to cover will be the

intersection of arcs connecting centers of diagonal circles as shown in figure 3.3. The









16


distances between the centers of the circles (1.4) and (2.3) are at a maximum when

the satellites are at A: = radians. This can be shown by taking the derivative

of the distance equation for the vertical separation of satellites and noting the rates

of change.


the hardest point to cover


Figure 3.3. Satellites 1,2,3,4 Looking down the Y-Axis


Dzl3



Dz24



where

Az'


= derivative-ofthejdistancebetween-satellites_ 1, 3)

= 2(Re + A)sin( )sin(Az')
2Np
= derivativeof_the-distancebetween.satellites 2, 4)

= 2(R + A) sin( -- sin(Az' ---



= --Az













0 < A' <
ANs

The horizontal separation remains constant and the distance between satellites

(2,4) decreases at a faster rate than (1.3) increases as .A' is varied from to zero.

Hence the maximum diagonal satellite spacing and corresponding circles of coverage

are furthest apart when Az' = S, and the intersection of the diagonals in the y-z

plane is at the hardest point to cover.

Theorem 3.1: The minimum altitude for the N p,N.s satellite topology is




Amin = (I-- -(- l R, (3.5)
cos( ) cos( ) )

Proof: By Lemma 3.5 the hardest point to cover is in the y-z plane and since

the orbital planes are symmetrically rotated about the x axis, then it is sufficient

to show that if the earth location intersected by the v axis is covered by a satellite

at all times, then all points on the earth are covered at all times. The topology of

Ns satellites per plane ensures that a satellite will always be within # radians of

the v-z plane. The equations for the satellite position in Lemma 3.5 can be used to

compute the distance between the earth location (E, = O.Ey = R?,E. = 0) and a

satellite in the azimuth range (! -- ) radians to T radians. Setting this distance to

the visibility distance of Dmax/2 ensures all points will be covered.




DM a/4 = (E-, 5)2 + )+(E, ( .S)2

SR + (R + A)2 2(R, + A) cos( )sin(Az)
2Np

The right side of the above equation is maximized over the range of Az when Az

_= Using this value for Az ensures that the hardest point to cover on the
2 N"S*












earth will always be visible to the satellite over the range of Az. Solving for A in

the above equation with Az = produces the minimum altitude for complete

coverage.



Armin = (Cos(J ( ,
(s '
The value for Amin assumes a zero horizon angle. For some specified minimum

horizon angle, Ha, Lemma 3.3 can be used to lind the new altitude. The new altitude

V'n with D'm evaluated at A,,, is:



A', = /1 cos2(0 + HJ) (1 cos(0))R, (3.6)

3.3 Minimum Propagation Delay for the Np.Ns Topology

Lemma 3.6: The shortest geodesic (minimum distance path) using three or more

satellites on an arc of Ct radians occurs when the maximum possible satellite spacing

is used between as many satellites as possible.

Proof: Let the shortest geodesic use n (n >_ 3) satellites on an arc of Ct radians

and radius R with 7r > Ct = (1 + C2 + + C,-I1, where C' is the arc between satellite

i and satellite i+1. The path distance of the a satellites is

C'1 C C. 1
path_distance = 2R(sin(-) + sin( ) + + sin( ))

Since sn' is monotonically decreasing for U < .r < then



inn..path_distance = 2R?(k sil(0) + sill( -- k0 )) where



0 arctan Dma2,













Hence the shortest geodesic uses the maximum possible satellite spacing between

as many satellites as possible.

Lemma 3.7: The minimum propagation path will have equal source-to-satellite

and destination-to-satellite distances: and source, destination, center of the earth,

and both terminating satellites will be in one plane.

Proof: Let the terrestrial arc distance be s. with source and destination separation

Sradians. Without loss of generality, the terminating satellites can be symmetrically

located about the v-axis as shown in figure 3.-. The objective is to show e is

and Y';ot = 0 for a minimum length path. This proves Dsl = Ds2 and points are

coplanar.
satellite 1.2 locations
Sri = (Re + .4)sin(p)
source and destination location Si = (R, + A) cos(O)
S, = R sin( e) =
S, = R,cos(- e)cos(IYro) '2 = -Sl
R, t) y2 S j'yl
S, = Re cos(-- e) sin(Yot) 2 yl
D, = Re sin(e),
D= Rsin(e)= arbitrary angle
DY = R, cos(e) cos(rot)
= R cos(e) cos(I. t) Dsl = source to satellite 1 distance
D, = 11 chose) Sins(I'rot)
ScoDd2 = destination to satellite 2 distance
D12 = satellite I to satellite 2 distance
pathlgthIc = DAl + Dd2 + D12

The derivative of the path with respect to e is zero when e is for all values of

1-ot and 6. The path length is minimized for all 6 when "o't = 0. Hence the source.

destination, center of the earth, and both terminating satellites are in one plane. Also

Dsl = Ds2 since e = 2
2R,
Theorem 3.2: The minimum propagation path over an arbitrary terrestrial arc

distance s. between all pairs of points for the N.s..Vp = 2 satellite topology is given

bv:













I-- -------------~--
pathhdistance = 2/A2 + 2R,(R, + A)(1 cos(--)) where
=(0, 2R,)
s = (0,2Re)


(3.7)


I

Figure 3.4. Minimum Path Distance Via Terminating Satellites


Proof: For Np = 2, 0 < L and only one satellite is needed to connect all points

on the earth. By Lemma 3.7, the source-to-satellite distance equals the destination-

to-satellite distance. Hence the path distance equation follows for zero minimum

horizon angle. For some specified minimum horizon angle Ha, A' can be substituted

for A.













3.4 Maximum Propagation Delay for the :Ap.NA. Topology

Theorem 3.3: The maximum geodesic propagation path over the terrestrial arc

distance. s = Rr-, between all pairs of points for tile A's > 4 and N'p = [2.3.4,5]

satellite topology with altitude A, and visibility distance D,-ar is given by:


Np = 2. Ns = (4.6. 8.10.12) D2 = 2Dm,, + 2(l, + .A) cos(- -) cos( )
Vp = 3. Ns = (4) D3 = 2D,,,,, 2(R, + + A) cos( 1) sin()
Np = 3, Ns = (6) D3 = D,,,,,, + 6(R, + A) sin( -.)
AVp = 3. Ns = (8.10. 12) D3 = 2D,,,n + 4(R, + A) cos( -') sin( .)
Np = 4. Ns = (4) D4 = 2D,,,, + 2(?, + A.) cos( ~) sin( )
NVp = 4. .'s = (6)) D4 = D,6,(, + (R~ ?, + A) sin( `)
Vp = 4. Ns = (8) D4 = D,,, + 8(R7, + A) sin(-t-)
Np = 4. As = (10.12) D4 = 2D,a,, + 6(1, + .4) cos(-,) sin(g)
Np = 5, Ns = (4) D5 = 2Dma, + 2(R? + A) cos(.-) sin( )
Np = 5, Ns = (6) D5 = Dm + 6((R, + A) sin( -)
Np = 5, Ns = (8) D5 = D,,,,, + 8(R, + A) sin(--)
Np = 5, Ns = (10) D5 = D,= + 10(R, + A)sin(-)
p = 5. Ns = (12) D5 = 2Dm + 8( + Aco) cs(-) sin(' )

Proof: The distance expressions are valid when satellites are radians from the x

= 0 plane (measured in the z = 0 plane). Source and destination are in the x = 0

plane and midway between two orbital planes. Both source and destination are at

least Dmax/2 away from all satellites. The satellite-to-satellite paths must be one of

the following segment types:

1. same orbit plane: distance = 2(R, + A) sin( ): with m = 1.2.... and

distance < DDm
2

2. different orbit planes but in the same y-z plane:

distance = 2(R + A) sin(Az) sin( "')

with = 1.2.... distance < -. and 0 < .- < ,













3. different orbit planes and in different y-z planes (a diagonal path): distance <
D mar
2

The closed formulas of Theorem 3.3 are the sum of D,,,, and some combination

of the three satellite-to-satellite segment types.

The closed formulas can be shown to be a local maximum by noting that a change

in source-destination location will provide a shorter path (there are only 2 Np points

which are D,,ax/2 away from all satellites). Also a change in satellite position will

require the source-to-satellite and destination-to- satellite distance to be less than

Dma,/2 and the diagonally opposite satellite distance will become shorter (less than

Dmax). In the case of Np = 2 the derivative of the satellite path when Az = ,
is:



satellite path = V(R, + A) sin(4Az) + Diag where

Diag2 2(R, + A)2(l cos(Az) cos(Az + .))
DI
path derivative = /2(Re + A) cos(Az) + -- where
D2
D1( R+ + 2A) 27 2
D1 =(cos(.A) sin(Az + ) + sin(.-lz) cos(Az + ))

D2 1 cos(Az) cos(Az + )

Substituting Az = makes the satellite path derivative v/2( R, + A) sin( -).

The derivative of the source-to-satellite path is:



source-to-satellite path = D where

D2 R + (Re + A)2 2(R, + A)Resin(Az)


Taking the derivative of D with respect to Az
















D' = (R, + A)R cos(Az)/D or

D' = /2(R + l)Rsin(-)/Dmar

with substitution Az -= --j. Hence the rate of change for source and destination

is 2D'. The source-to-destination geodesic will increase as Az = -- is approached.

The derivative will not be zero at the local maximum because the local maximum

exists because of a boundary condition: the source-to-satellite distance equation is

only valid to Az = 2 The diagram below shows the four diagonal satellites

and location of the source for Az > Satellites 1.3 are moving apart at

a slower rate than satellites 2,4 are moving together, hence the source must move

at the rate of satellites 2,4 in order to stay D,,,,/2 away from satellites 2.4. The

combination of a shorter diagonal distance, shorter source to satellite distance, and

shorter destination to satellite offsets the increase in distance of satellites 1,3, thus

producing a monotonically decreasing geodesic distance for Az > 2- N-

Since the closed formulas are for local maximums. to show they are for global

maximums requires Algorithm 2. The three-dimensional search space is:


1. Azimuth of source (destination)

2. Elevation of source (destination)

3. Satellite displacement angle, Az(t)


Use Algorithm 2 outside the vicinity of t he local maximum with a grid size such

that:

upper bound error < closed formula distance DO


where DO is some minimum in the vicinity of the local maximum.












Assume adjacent pairs of a grid have the same satellite path. If a longer geodesic

exists, then the sum of the maximum distance of the four corners and the upper

bound error must exceed the closed formula distance. If adjacent pairs have different

satellite paths. then the circles of coverage need to be solved to ensure some longer

path is not missed. Since no longer path can be found for the stated topologies, the

closed forms of theorem III are the maximum geodesic distances for s = R7r.

Corollary: D2 in theorem 3.3 is valid for N.s > 12 because it is true for Ns < 12

and as Ns increases, the degree of satellite coverage overlap increases. This is shown

by comparing the distance between adjacent circles of coverage with the diameter of

the circles. If a longer geodesic existed than D2. then it would exit at smaller values

of Ns.

3.5 Node Connectivity

The Np,Ns topologies have at least four node disjoint paths at the minimum

altitude for complete coverage. Table 3.1 contains the minimum and time average

node connectivities. These connectivities were obtained using a topology generator

program and applying Even's algorithm [17] whenever the satellite adjacency matrix

changed.

The proof that four node disjoint paths exist can be made by assuming a mesh

link assignment as follows:

1. Let the satellites be rotated about the x-axis. then the satellite positions are

defined bv:

Xi = (Re + A)cos( J + Az)

.ij = (Re + A)sin ( + (. cos (

Z, = (Re+ A)sin ( + -A )sin )
A\l s PI






















Table 3.1. Node Connectivity for Xp. .Ns Topologies


Two Planes at 90 degrees Three Planes at 60 degrees
V, Ns node k-conn :,, V, node k-conn
satellites alt. min. avg. satellites alt. niin. avg.
2X3 = 6 11662 5 5.0 3X3 = 351 7 .8
2X4 = 8 6378 4 4.0 3X1 = 12 4037 6 6.0
2X5 = 10 1771 4 4.0 3X5 = 15 2725 6 6.0
2X6= 12 4037 4 4.0 3X6 = 18 2126 5 6.0
2X7 = 14 3633 4 4.0 3X7 = 21 1796 6 6.0
2X8 = 16 3385 8 8.0 3X8 = 2- 1593 5 6.0
2X9 = 18 3221 8 8.0 3X9 = 27 1459 5 6.0
Four Planes at 45 degrees Five Planes at 36 degrees
N aV, node k-conn A'l ', node k-conn
satellites alt. min. avg. satellites alt. min. avg.
4X3 = 12 7429 7 9.2 5X3 = 15 7034 7 10.1
4X4 = 16 3385 7 8.0 5X4 = 20 3106 8 9.9
4X5 = 20 2155 6 7.9 5X5 = 25 1911 6 9.3
4X6 = 24 1593 5 7.5 5X6 = 30 1:366 7 8.
4X7 = 28 1284 6 7.0 5X7 = 35 1065 7 7.0
4X8 = 32 1094 5 7.2 5X8 = 10 881 7 7.0
4X9 = 36 969 6 7.0 5X9 = 15 759 6 7.0

Notes:
1. Averages are time averages
2. Altitude in kilometers
3. The N,,. N systems provide complete coverage of the earth at all times













where i= 0,1..... VP I and j =0.1.. .. 1


2. The distance. D between visible satellites i.j and i'. j' is:

D = (Re + A)2(1 c). where

S= os +Az cos + + A-


+3. S es+ Aij sin e + As os:


3. Satellite i,j is connected to four satellites as follows:


decreasing i:






increasing i:


if i > 0

if i = 0 and N, odd

if i = 0 and N, even



if i < NV-1

if i = Np-1 and N, odd

if i = N,-1 and Ns even


(i- ).j

(Np-1).(j-1) mod A,

(AN-1),(A -1-j)



(i+1).j

0.(j+l) mod N,

0.( l-j)


decreasing j:

increasing j:


i.(j-1) mod Ns

i.(j+l) mod N,


The link assignment is valid because each satellite has four links and the maximum

distance links are < D,,x. The latter is true because the maximum distance links are

between diagonally opposite satellites, which is constrained by the minimum altitude

for complete coverage. The four links are true because of the four cases for Az < -'
'Vs
Az can be constrained to this interval because it is the period of the topology.

To prove the given link assignment is four connected, an inductive proof can be

used. There are two basis topologies, odd and even .\-. Appendix A has the node


(3.8)













disjoint paths for Np = 2.Ns = 3 and Np = 2. A.s = 4 which were found by Max

Flow. Tables A.2 and A.4 show the four node disjoint paths for all pairs of satellites.

The inductive step is similar to that for the three. time invariant node disjoint paths

and will be given for that proof.

The time invariant link assignment is the set of links which do not require retar-

geting. The link assignment is as follows:

decreasing i: if i > 0 (i-l).j

increasing i: ifi < Ap-1 (i+1).

decreasing j: i.(j-1) mod A,

increasing j: i,(j+l) mod AN



Each satellite on planes i = 0 and i = AI 1 have three antennas and all other

satellites have four antennas. The basis topology is Np = 2, Ns = 3 which is three

connected. Table A.6 shows the three node disjoint paths for all pairs of satellites.

For the inductive step consider adding an internal plane 0 < i, < N 1. Each

satellite on ip has four neighbors. By the link assignment. a mesh exists for any ip.

Since the connectivity of the mesh is four. then the connectivity of each satellite is at

least three. Next consider adding an additional satellite to all planes 0 < j < \', 1.

By the link assignment each satellite has three neighbors for i = 0. A' 1 and assume

it is three connected. Adding satellite j will not reduce the connectivity because it

does not change the structure (i.e.. each satellite has a left and right neighbor on the

same plane and one neighbor on an adjacent plane).













3.6 Optimizing the Delay and Connectivity

A topology of N satellites at minimum altitude can be analyzed to provide opti-

mum values for Np and Ns (N = Np* Ns) such that a specified delay metric is min-

imized. The delay metric could be maximum propagation delay, average maximum

propagation delay (over time), etc. Suppose the metric is the maximum propagation

delay for maximally separated terrestrial points at minimum altitude. The equations

from section 3.4 can be used for Ns even; for NVs odd. simulation is required. Table

3.2 contains the propagation delays for N:p = [2.3.4.51 and NVs = [3.4.5.6.7,8.9]. The

minimum altitude for systems with phase offset of 27/(Vp) *.V s) is also given for

comparison purposes. These altitudes were determined iteratively. Notice that for

NVs > Np there is little or no altitude reduction by using a non-zero phase offset. Also

note that the lowest altitude for N = Np Ns satellites occurs when Ns > Np and

Ns is odd. This is because the elevation angle spans 180 degrees, while the azimuth

angle spans 360 degrees. Hence Ns should be about twice as large as Np and odd

values of Ns ensure the propagation path does not overshoot either source or desti-

nation. For NAs even, the propagation path overshoots either source or destination

for furthest terrestrial points, resulting in a longer delay.

Optimizing connectivity for an NpNs topology can be performed in a manner

similar to that used for propagation delay. However, unlike propagation delay where

minimum altitude is desired, connectivity improves with increasing altitude. Hence

some maximum tolerable delay must be specified and thereby some maximum altitude

for the satellite topology.




















Table 3.2. Minimum Altitude and Maximum Propagation Delay for Furthest Terres-
trial Points


Two Planes at 90 degrees Three Planes at 60 degrees
S* phase=0 phase= phase=0 ase pas0 phase= P,
satellites alt. ela alt. satellites alt. delav alt.
2X3 = 6 11662 205 11662 3X3 = '351 1(0 S131
2X4 8 6378 190 5897 3X1 = 12 1037 152 3940
2X5 = 10 4771 139 4771 3X5 = 15 2725 106 2710
2X6 = 12 4037 152 3857 3X6 = 18 2126 123 2090
2X7 = 14 3633 131 3633 3X7 = 21 1796 97 1785
2X8 = 16 3385 141 3291 3X8 = 24 1593 113 1522
2X9 = 18 3221 127 3221 3X9 = 27 1459 96 1455
Four Planes at 45 degrees Five Planes at 36 degrees
N% N, phase=0 phase=P, A N phase=0 phase=P,
satellites alt. delay alt. satellites alt. delay alt.
4X3 = 12 7429 148 7320 5X3 = 15 70:34 141 5695
4X4 = 16 3385 141 3350 5X4 = 20 3106 136 3085
4X5 = 20 2155 96 2140 5X5 = 25 1911 91 189.5
4X6 = 24 1593 112 1580 5X6 = 30 1366 107 1360
4X7 = 28 1284 86 1273 5X7 = 35 1065 83 1055
4X8 = 32 1094 102 1090 5X8 = 40 881 97 875
4X9 = 36 969 85 5 5 5X9 = .5 759 79 755

Notes:
1. P = 2zr/(N A,)
2. Altitude in kilometers
3. Delay in milliseconds between two terrestrial locations separated by 7rI?
4. The Np, YNs systems provide complete coverage of t lie earth at all times


















('CHAPTER 4
ALGORITHMS FOR COMPLETING PROPAGATION DELAY

Determining performance measures for general topologies can be done with ap-

proximate analytic solutions or more precisely with simulation. For those who need

precise solutions, two algorithms and their correctness proofs are given in the follow-

ing sections. These algorithms measure propagation dllav.

4.1 Minimum Propagation Delay Algorithm

Definition of Algorithm 1:

Determine the minimum propagation delay between arbitrary source and destina-

tion locations on the earth separated by terrestrial arc distances, S = {si, s2...., sN}

using a single altitude topology.

General Description:

The algorithm uses dynamic programming and maintains the shortest propagation

distances between arbitrary points on the earth for each pair of satellites for one orbit

period. The algorithm works because:

1. The source, destination, and terminating satellites are coplanar for the shortest

geodesic

2. The ratio of terrestrial arc distance to propagation path distance is monoton-

ically decreasing as the angle of satellite separation increases from I- -20 to

+ 20

Every possible pair of satellite-to-satellite paths will be tested to determine whether

they can offer a shorter path for some terrestrial arc distance in S. The algorithm
30













uses a closed formula for the propagation path distance as a function of terrestrial

arc distance. Thus eliminating grid search for the minimum. In addition, a. data

structure is maintained which eliminates ihe need to test all terrestrial distances in

S.

Pseudo-Code for Algorithm 1:

1. Initialize
(a) Choose a set of terrestrial arc distances S = {l,.s2,. .. ..s} and let the
index into the set be I, = 1 ......V
(b) Initialize arrays MinDistance[] and TerrestrialAngle[] for I, = 1..... for
corresponding terrestrial distances .. .. .x

MinDistance[I,] = IAXIN. T {for terrestrial distance s, > 2R0O}

= 2 1,'2 + 2I(R1 + A')(1 cos R)
\2Re /
{for si < 2R,0}
TerrestrialAngle[l,] = s,l/R {angle of terrestrial points }

(c) .4. = 0 {simulation angle is 0 to 2r}
(d) Nsat = {number of satellites}
(e) m = V,,t (Nat 1)/2 { number of geodesics }
2. At simulation angle A., compute the distance between all pairs of satellites
at different locations and store the distances less than D'ax in a matrix. Use
Floyd's all-pairs shortest-path algorithm to compute the geodesic distance be-
tween all satellite pairs. Label the m geodesic paths P, to P,, and corresponding
angles of separation .4 to Am-
3. for i = 1 to m do begin
4. {For each Ai, compute the maximum terrestrial distance. Smax,
Smar = (Ai + 20)Re

if mSax < 7rR
then pathdistance = PiDistance { path P, geodesic distance} + D',m$
else begin { SmaT > rR,, so source distance < D' $/2 }
pathdistance = Pistac nce + DA'2 + 2R,(R, + A')(1 cos((7r A;)/2))
Smax = W Re
end
k = { index of Smax }
{update all shorter geodesics for path P;
while (MinDistance[k] > path_distance) and (k > 0)













and (TerrestrialAngle[k] > A,)
do begin
MinDistance[k] = pathdistance: k = b 1
q = TerrestrialAngle[k] -A, { q is a temporary variable }
path_distance = Pi_Distance + 7A-' + 2R,(R, + A')(1 cos(q/2))
end
end i

5. Increment A. and go to step 2 if A. < 2,T.


Proof of Algorithm: The algorithm has three loops:

1. Outer loop for all satellite azimuth positions (0 < Az <" 2,)

2. Inner loop for geodesics P1 to Pm

3. While loop to update MinDistance[k] for each geodesic Pi

Outer Loop All possible satellite positions are considered because the topology

has period 2r. This assumes an Az(t) step approaching zero. In practice, a finite

Az(t) step will be used which will make the MinDistance values in error. An upper

bound on the error can be derived and is given as:


errordistance = 2(R, + A)D(lAz(M + DelAz-)


where DelAz and M are the azimuth step and number of satellites on a path respec-

tively.

Lemma 3.1 can be used to determine which satellites are visible. Flovd's all-

pairs shortest path algorithm will provide the geodesic distance between all pairs of

satellites.

Inner Loop All possible geodesics are considered. For Ai < 20. array MinDis-

tance[] has the shortest delay because these angles require only I satellite.

While Loop Prove the algorithm segment for step 4.













if S'max< rR,
then path-distance = Pi_Distance { path P, geodesic distance} + D'max
else begin { Sa,, > rR,, so source distance < D'm /2 }
path distance = Pi_Distance + .jA'2 + 2R,(R, + A')(1 cos((7r A.)/2))
Smar = 7Re
end



Variables Smar and pathdistance have the correct values after executing the if

statement because:

1. if Sma x R, holds before the if statement then t lie path distance is the

satellite path + 2D' /2

2. if Sma, > Rex holds before the if statement then Smax is limited to Re, (the

maximum source-to-destination arc distance) and the source-to-satellite dis-

tance is less than D'ax/2 and is given by


A'2 + 2Re(Re + A')(1 cos((7r A)/2))

Pre-conditions of the while loop:
1. k has index of Sm,,a
2. MinDistance[] has the minimum path lengths for Is = 1 to N for the geodesics
tested so far

k = { index of Sax }
{update all shorter geodesics for path P,}
while (MinDistance[k] > path_distance) and (k > 0)
and (TerrestrialAngle[k] > A,)
do begin
MinDistance[k] = pathdistance: k = k 1
q = TerrestrialAngle[k] A. { q is a temporary variable }
path_distance = PiDistance + + 2?~.(R. + A')(1 cos(q/2))
end


Post-conditions of the while loop:













1. k has index for which a shorter path existed

2. MinDistance[] has the minimum path lengths for Is = 1 to N for the geodesics

tested so far

Loop Invariant: MinDistance[i] = MINIMUM {lMinDistance[i],pathdistance }

for k < i < {index of S',a }, where MinDistance[k] > pathdistance


1. the upper bound of i follows from the pre-condition

2. the lower bound of i follows since the ratio of terrestrial distance to propagation

path distance is monotonically decreasing for decreasing terrestrial distance;

hence if MinDistance[i] > path distance, then all valid smaller values of i can

be ignored because some other previous path had a shorter satellite to satellite

path (i.e., a larger ratio of terrestrial distance to propagation path distance)


The running time of Algorithm 1 is O[( S' + m)steps]; where

Sn = number of satellites.

steps = number of azimuth steps.

m = (number of MinDistance updates) xs ,(S, 1)/2.

The number of MinDistance updates is topology dependent and varies from 1 to Sn.

4.2 Time Average and Maximum Propagation Delay Algorithm

Definition of Algorithm 2:

Compute the time average and maximum propagation delav for a set of arbi-

trary terrestrial locations separated by the terrestrial arc distance R~ using a single

altitude topology.

General Description:













The algorithm computes the geodesics between a set of source-destination pairs

by first computing the geodesics between all satellite pairs and then comparing all

possible paths between source and destination for the shortest geodesic distance. This

algorithm becomes more efficient for low altitudes where only a small number of the

total satellites are over head at one time.

Pseudo-Code for Algorithm 2:

1. Initialize
(a) .A = 0 {simulation angle is 0 to 27 }
(b) for i = 1 to P do begin
{P = number of source-destination pairs}
TotalDistance[i] = 0 {running sum of path length}
MaxDistance[i] = 0 {maximum propagation path length}
end

(c) S[i] = {terrestrial grid points for source, i = 1 to P}
(d) D[i] = {terrestrial grid points for destination}
(e) Nat = {number of satellites}
2. At simulation angle A,, compute the distance between all-pairs of satellites at
different locations and store the distances less than D',, in a matrix. Use
Floyd's algorithm to compute the geodesic for all satellite pairs. The result is
in array Dis[], with element Dis[k,m] the geodesic from satellite k to satellite
im.
3. for i = 1 to P do begin
{Determine which satellites are visible to the source and destination}
Sindex = 0 {number of satellites visible to the source}
Dindex = 0 {number of satellites visible to the destination}
MINd = MAXINT: {minimum geodesic distance}
for k = 1 to Ns,,
do begin
DS[k] = {distance between S[i] and satellite k}
if DS[k] < D,,m/2
then begin
Sindex = Sindex + 1: Snode[Sindex] = k
end
DD[k] = {distance between D[i] and satellite k}
if DD[k] < Dm,x/2
then begin













Dindex = Dindex + 1: Dnode[Dindex] = k
end
end {Determine the shortest geodesic between all possible paths}
for k = 1 to Sindex do
for m = 1 to Dindex do
MINd = min ( MINd.
DS[Snode[k]]+DD[Dnode[m]]+Dis[Snode[k],
Dnode[m]] )
TotalDistance[i] = TotalDistance[i] + MINd {update for average distance}
MaxDistance[i] = MAX(MaxDistance[i].MINd) {update for max distance}
end i

4. if A, < 27r. then increment A- and go to step 2.
5. Average_Distance[i] = TotalDistance[i]/[P* number_of_azimuthsteps]


Proof of Algorithm: The algorithm has four loops:


1. Outer loop for 0 < Az < 2r

2. Inner loop using index i for set of grid points

3. Visibility loop

4. Shortest path loop


Outer Loop All possible satellite positions are considered because the topology

has period 2-. This assumes an Az(t) step approaching zero. In practice, a finite

Az(t) step will be used which will make the propagation distances in error. An upper

bound on the error can be derived and is given as:

Re
errordistance = (R, + A)DelAz(21 + (DclG x DelG + DelAz)-)


where DelAz, DelG and M are the azimuth step, grid angle, and number of satellites

on a path respectively.













Lemma 3.1 can be used to determine which satellites are visible. Floyd's all-

pairs shortest path algorithm will provide the geodesic distance between all-pairs of

satellites.

Inner Loop All grid points are considered.

Visibility Loop Prove the program segment for step 3.

Pre-conditions: arrays Snode and Dnode are empty
for i = 1 to P do begin
{Determine which satellites are visible to thle source and destination}
Sindex = 0 {number of satellites visible to the source}
Dindex = 0 {number of satellites visible to t le destination}
MINd = MAXINT; {minimum geodesic distance}
for k = I to Nsat
do begin
DS[k] = {distance between S[i] and satellite k}
if DS[k] < Da,,/2
then begin
Sindex = Sindex + 1; Snode[Sindex] = k
end
DD[k] = {distance between D[i] and satellite k}
if DD[k] < D,,a/2
then begin
Dindex = Dindex + 1; Dnode[Dindex] = k
end
end

Post-conditions: Snode[] has the set of satellites visible to source S[i] and Dnode[]

has the set of satellites visible to destination D[i]

Pre-condition: MINd = MAXINT
{Determine the shortest geodesic between all possible paths}
for k = 1 to Sindex do
for m = 1 to Dindex do
MINd = min ( MINd.
DS[Snode[k]]+DD[Dnode[m]]+Dis[Snode[k],
Dnode[m]] )
TotalDistance[i] = TotalDistance[i] + MINd {update for average distance}
MaxDistance[i] = MAX(MaxDistance[i],MINd) {update for max distance}












Post-condition: MINd = MINIMUM { S[i] to D[i] path distance }

Loop Invariant: MINd = MINIMUM { S[i] to D[i] path distance, MINd }
All possible satellite paths are tested between S[i] and D[i]. The minimum distance

is in MINd at loop termination.

The running time of Algorithm 2 as compared to Dijkstra's single source algorithm

is:

Algorithm A.2 Dijkstra
O(L(2N + 112)) O(L(N + 2)2)


L = (number of azimuth steps) (number of source-destination pairs)

M = average number of visible satellites from the earth

N = number of satellites in the network


Note: (1) Assumes (number of source-destination pairs) *(2N + 112) >> N3

(2) M --+ N/2 as A -+ oc


















CHAPTER 5
ANALYSIS OF A 2-LEVEL IIIERARCIIICAL MODEL

An analytic approximation for the total average delay of a point-to-point satellite

network with arbitrary topologies can be obtained by using a parameterized 2-level

hierarchy. The advantages of such a network are a reduction in the complexity of

delay and routing analysis. The parameters include link capacity. traffic Hfow between

all pairs of satellites, number of satellites, number of antennas per satellite, and two

altitudes. The link assignment provides a 2-level hierarchy by using a backbone

(level-1) and local regions (level-2). The routing strategy uses traffic flow balancing

by splitting traffic between node disjoint paths.

Satellites are used in a backbone which connects regions of diameter Dmax on

each arbitrary altitude shell and also between the two shells. The local regions have

diameter Dmax and form a "wrapped-around mesh" which offers a region disjoint

structure for routing over four disjoint paths. The diameter of the regions ensures all

satellites within the region are visible to one another.

5.1 Definition and Description of the Model

1. All satellites are contained in a circular region with diameter Dm,. The regions

cover all points on a shell.

2. The centers of the regions are:


,j = (Re + .A)sin ( + Iz cos ( -)

yi = (Re + .4) sin + sin
X, (" Ar P,?














z = (Re + A.) cos ( + az)

where i= 0,1,..... V,- 1 and j =0.1,.... N 1


3. The minimum altitude of the Np, \, region model is derived in the next section,

and given as:


min =

C =



ang




El =


(- 1) I?, where
c /

sin(El) sin(EI') cos -- + cos(El) cos(El')

XLJ + a(i. where 0 < az < -
4 AS
any if any < -
272
ang -, otherwise

Si 7r 2-r 7
ang if ang' < ang' +
2 N's
27r
ang + i otherwise
N1s
tl]\ /*>T


(5.1)


El' arctan ( ) (El< El'
S= cos(El)- cos El+ 2

e = -cos(i) ( 7El)- s- El + )


AP > 2 and iV > 3

4. The number of regions is Np Ns for az > U.


5. The link assignment in a region is made independently of propagation distance

between satellites.


6. The propagation distance between satellites in the circular region is a random

variable. The average satellite-to-satellite distance is D,,z.tDma,/2. where D,,g













is a constant which depends only on the altitude of the satellite shell. The value

of Dav, ranges from 1.0 at 10000 km to 0.93 at 1000 km.

7. Satellites on a shell can have an arbitrary topology.


For az = 0 and N, even there are NA regions for j = 0 and j = N,/2. Hence the

set of regions do not form a region disjoint structure. However, at the higher altitude.

A'in, the regions for j = 1 and j = NV 1 will cover all points of the A regions at

j = 0. Similarly, the j = iN/2 regions will also be covered. Hence the values of j

1, ..... + 1... s I form a region disjoint structure. The equation for

A'm n is derived in the next section, and given as:


A'n = Re 1 + tan2 ( Re (5.2)

For Np = 3, Ns = 10, az = 0 there are 24 regions which cover a shell at A > A'n =

1506 km. A lower altitude is obtained by relaxing the equal spacing of the regions,

i.e. modify the angle LI to 2 A, where A is large for j = 0 and j = and zero

for j = and j = 3-. In addition, by allowing the regions to be 10% greater than

Dma the 24 regions cover a shell at A >1000 km.

5.2 Minimum Altitude Derivation of Np.Ns Regions

The minimum altitude of the N,,, Ns region model is:


Amin = I 1 R, where

c = sin(El) sin(El') cos ( ) + cos(El) cos(El')

A', 27r 92,-
ang = [ + az, where 0 < az < -
4 N, AV
ang = ang if ang <
=27
= ang otherwise
3'.













El = ang' if ng' < ang' + -
2 A s -
2r7
= ang' + 7 otherwise

El' = arctan (El < El' < El +

d = cos(El) cos El +

e = cos in(El) sin El +

Proof:

1. The distance squared between a region center (El.Az) and some arbitrary point

(El'.Az') on a sphere of radius R is:

D2 = 2R2 2R2 sin(El) sin(El') cos(Az Az')

-2R2 cos(El) cos(El'). where
2w 2w
El = az, + az,..., (N 1)-+ a
Ns Ns
Az = 0, ,...,(Np-1)
Np Np

2. A point (El'..A') maximally distant from all region centers will be equally

distant between the four adjacent region centers, hence

Az--Az' -
2Np

El' = -arctan where

d = cos(El) cos El +

e = cos (sin(El) in El + )

3. The region centers which are furthest apart are those nearest the z = 0 plane.
hence El = + az, + az or -[ + az 2" whichever is

closest to












4. Make the maximum distance squared. D' equal to A2 + DA,,/4



A2 + Dm/4 = 2R2 2R2 sin(El) sin(El') cos(.A Az')

-2R2 cos(El) cos(El'). where

R = Re + A


5. The value of A which satisfies the equation is .-A,,, and the desired expression

is obtained.

The minimum altitude A for which all points in j = 0 and j = N A/2 are covered

by adjacent regions for N, even is:


4'm = Re + ta.n2 ( -R

Proof:

1. The angle between common orbit satellites j = 1 and j = Ns 1 is .

2. Equate the maximum tangential angle, arctan ( t-) to half the satellite sep-

aration angle and the expression follows.

5.3 Link Assignment

A comparison of propagation delay results using unlimited antennas for the topol-

ogy types of N,, Ns and random (equal distribution of satellites per unit area) shows
only about a 15% difference. The metrics used in the comparison include average

path delay and maximum propagation delay. In addition, the propagation delay for

.VN, N, topologies increases only about 10% when the number of antennas is reduced

to four and a mesh link assignment is made. A mesh provides a node connectivity of












four with three, time invariant (no retargeting) node disjoint paths between all-pairs

of satellites.

Table 5.1 contains the propagation delay results for geodesic paths using simula-

tion for minimum altitude Np,Ns topologies with unlimited antennae. Table 5.2 is for

the same topologies, but using four antennas per satellite and a mesh link assignment.

Both propagation delay (in milliseconds) and hop values are time averages.

The N,Ns, mesh link assignment is defined as:

1. Let the satellites be rotated about the x-axis, then the satellite positions are

defined by:

Xj = (Re+ A)cos(j2 i+ 4

(27rj 7ri
,j = (Re + A) sin (-j + A) cos
\ l, + \4'Po

Zi, (Re+ + A) sin( + A sin(

where i =0,1,....,\,-1 and j =0.1......, 1


2. The distance. D between visible satellites i.j and i'. j' is:

D = (Re + A) 2(1 -c), where (5.3)

c = cos +A cos + A


Ns ) Cos
+sm + z sin (7+ AZ- C cos (


3. Satellite i.j is connected to four satellites as follows:


decreasing i: if i > 0 (i-l).j

if i = 0 and N, odd (N,-1).(j-I) mod NS

if i = 0 and N. even (.,-1).(.,-1-j)


















Table 5.1. Propagation Delay of Np,Ns Topologies. Unlimited Antennas

N,* Ns altitude distance hops
satellites (km) mean std_dev max mean std_dev max
2X3 = 6 11662 90.1 23.5 109.7 1.0 000.0 1.0
2X4 = 8 6378 68.9 27.1 118.3 1.2 0.4 2.0
2X5 = 10 4771 59.3 22.2 94.2 1.3 0.5 2.0
2X6 = 12 4037 56.2 22.9 101.1 1.5 0.5 2.5
2X7 = 14 3633 53.3 21.5 1.3 1.6 0.7 3.0
2X8 = 16 3385 51.0 21.2 92.0 1.4 0.5 2.0
2X9 = 18 3221 49.8 20.5 85.0 1.4 0.5 2.6
3X3 = 9 8351 70.4 23.6 99.6 1.0 0.2 1.8
3X4 = 12 4037 54.7 23.2 97.8 1.3 0.5 2.0
3X5 = 15 2725 47.6 19.1 76.9 1.5 0.5 2.0
3X6 = 18 2126 45.4 19.4 84.9 1.6 0.6 3.0
3X7 = 21 1796 43.4 18.2 75.5 1.8 0.7 3.0
3X8 = 24 1593 42.7 18.6 81.4 1.9 0.8 4.0
3X9 = 27 1459 41.7 18.1 75.2 2.1 1.0 4.0
4X3 = 12 7429 64.7 24.2 97.5 1.1 0.3 1.9
4X4 = 16 3385 50.3 22.4 92.0 1.3 0.5 2.2
4X5 = 20 2155 44.3 18.5 73.3 1.5 0.5 3.0
4X6 = 24 1593 42.3 18.6 79.7 1.7 0.7 3.0
4X7 = 28 1284 40.5 17.5 70.9 1.9 0.8 3.1
4X8 = 32 1094 39.8 17.7 76.3 2.1 0.9 4.0
4X9 = 36 969 39.1 17.2 70.5 2.2 1.0 4.0
5X3 = 15 7034 62.1 24.6 97.2 1.1 0.3 1.9
5X4 = 20 3106 48.5 22.2 89.4 1.4 0.5 2.5
5X5 = 25 1911 42.6 18.2 72.0 1.5 0.5 2.9
5X6 = 30 1366 40.8 18.3 77.5 1.8 0.7 3.5
5X7 = 35 1065 39.2 17.2 69.2 2.0 0.8 4.0
5X8 = 40 881 38.6 17.3 74.2 2.2 0.9 4.0
5X9 = 45 759 37.9 16.9 68.7 2.3 1.0 4.1


















Table 5.2. Propagation Delay Using 'p.Ns Mesh Link Assignment

Np N, altitude distance hops
satellites (km) mean std_dev max mean std_dev max
2X3 = 6 11662 100.3 33.7 173.6 1.2 000.4 2.0
2X4 = 8 6378 74.9 30.4 120.3 1.4 0.5 2.0
2X5 = 10 4771 67.6 27.1 126.4 1.7 0.7 3.0
2X6 = 12 4037 61.3 25.4 107.3 1.8 0.7 3.0
2X7 = 11 3633 61.5 26.1 114.9 2.2 1.0 4.0
2X8 = 16 3385 57.4 24.5 105.6 2.3 1.0 4.0
2X9 = 18 3221 59.0 25.7 109.4 2.7 1.3 5.0
3X3 = 9 8351 76.6 27.5 103.6 1.5 0.6 2.8
3X4 = 12 4037 61.0 26.2 101.7 1.8 0.7 3.0
3X5 = 15 2725 52.6 23.2 79.9 2.0 0.8 3.0
3X6 = 18 2126 50.1 21.1 87.1 2.3 0.9 4.0
3X7 = 21 1796 48.5 20.1 78.5 2.5 1.0 4.0
3X8 = 24 1593 46.9 19.9 83.3 2.6 1.1 5.0
3X9 = 27 1459 44.6 19.2 77.2 2.7 1.1 5.0
4X3 = 12 7429 71.6 27.3 105.6 1.9 0.7 3.5
4X4 = 16 3385 57.2 25.6 100.4 2.2 1.0 4.0
4X5 = 20 2155 54.2 13.4 81.3 2.3 1.0 4.5
4X6 = 24 1593 46.9 20.1 84.5 2.6 1.1 5.0
4X7 = 28 1284 45.4 19.4 75.7 2.8 1.2 5.5
4X8 = 32 1094 44.0 18.9 79.8 3.0 1.3 6.1
4X9 = 36 969 42.2 18.0 73.3 3.1 1.4 6.2
5X3 = 15 7034 69.2 27.6 106.2 2.4 1.0 3.9
5X4 = 20 3106 55.5 25.5 98.9 2.6 1.2 5.0
5X5 = 25 1911 50.7 22.3 77.1 2.8 1.2 5.5
5X6 = 30 1366 45.5 19.7 82.9 3.0 1.3 6.0
5X7 = 35 1065 44.3 19.3 73.3 3.2 1.4 6.5
5X8 = 40 881 42.8 18.6 78.1 3.3 1.4 7.1
5X9 = 45 759 41.7 17.9 71.8 3.3 1.4 7.4












increasing i: if i < Np-1 (i+1).j

if i = NA-1 and AN odd 0.(j+1) mod ,\

ifi = Np-1 and AN, even U.(Ns-i-j)

decreasing j: i,(j-1) mod N,,

increasing j: i,(j+l) mod N,




The four shortest node disjoint paths of the N,,. Ns topologies can be generated

from geometry and by using equation 5.3. the propagation delay of the paths can be

computed. Hence propagation delay of the .p,,N, topologies can be used to approxi-

mate the delay between regions of the Np,N, region model at each altitude (low and

high). The delay range between the low altitude shell. Aow, and the high altitude

shell, Ahigh is:




DSmin = Ahlgh Alow

DSmax = Aio,11/1 + 2 -
V -1'low,

+Ahigh 1 2 -
Ahigh

An average of DSmin and DSmax is a good approximation for the distance between

the two shells when Ahigh > 2Alow since DSmin approaches DSmax as Ahigh increases.

The mesh link assignment algorithm for arbitrary topologies is to first construct

a backbone as follows:


1. Determine satellites in a region overlap

2. Pick one satellite in each overlap area and assign two antennas to each of two

overlapping regions (if more than two regions overlap, choose regions which












have the fewest possible region-region links)

Note: the region-to-region link is inside a satellite

3. For all adjacent regions which do not have a link: assign one link between

regions with priority of assignment based on fewest inter-region links

4. If each region is linked to four adjacent neighbors: the mesh is formed. If the

mesh is not formed then find all satellites which are visible to each other and

in different unconnected regions and assign the link.

Since each local region can potentially be fully connected because all satellites are

visible to each other, remaining antennas can be assigned to optimize some metric

consisting of connectivity and maximum hops. The links between shells are best

assigned based on queueing delay, since there is very little difference in propagation

delay when Ahigh > 24Aow.

A 2-level hierarchy using 24 regions was chosen to evaluate the propagation delay

of the network using only four antennas per satellite. This hierarchy model has a

minimum altitude of 1506 km (N, = 3.., = 10. a: = 0) which is an average alti-

tude attributed to sensor satellites (typically 1000-2000 km) in the SDI architecture.

To determine the performance of the 2-level hierarchical link assignment, satellites

at an altitude of 1506 km were randomly located with probability proportional to

the area of the shell. The all-pairs geodesic distances were computed assuming an

unlimited number of antennas and using only four antennas. The unlimited antenna

case provided the optimum delay. Table 5.3 gives the mean, standard deviation, and

maximum path delays in milliseconds. The top half of the table is for satellites in

all 24 regions, the bottom half has satellites in only 23 regions. Region i = 2, j = 8

was constrained to be void to simulate a disaster condition. The results show only

about a 15% increase in propagation delay when the number of antennas is reduced












to four. In addition, a void region has little affect on the delay. This was expected

because of the three node disjoint paths. The table shows only the cases for 25-100

satellites because there was no appreciable change in delay for 100-150 satellites.


Table 5.3. Propagation Delay Using 24 Regions. Satellite Altitude = 1506 km

number unlimited antennas 4 antennas
satellites mean std dev max mean stddev max
satellites in 2- regions
25 43.4 23.8 95.0 48.2 24.0 100.9
50 38.8 8.4 80.1 43.4 8.5 84.8
75 38.1 5.5 79.0 13.1 5.6 83.0
100 38.0 1.0 7S.6 42.8 1.2 82.9
satellites in 23 regions only
25 43.2 23.9 94.5 48.3 24.3 102.1
50 38.9 8.4 81.2 43.4 8.7 85.0
75 38.2 5.6 79.1 43.2 5.5 84.4
100 37.9 4.1 78.7 43.0 4.4 83.6


5.4 Queueing Delay of the Model

The queueing delay of the network is obtained by using IM/M/1 assumptions

with some arbitrary traffic flow between all pairs of satellites and routing based on

minimizing the maximum link flow. The NV. NVs topologies have four node disjoint

paths and by splitting the flow. flow balancing can be achieved. In fact. for the

A, = 2. AN = 3 topology all links have the same flow when each satellite sends the

same traffic flow to the other five satellites in the network.

For arbitrary topologies, the flow can be split between region disjoint paths. The

total delay is the sum of the propagation delay and queueing delay.












5.5 Computing D,,.,,

D,.vq is a constant which varies slightly with altitude and is the proportionality

constant between Dmax/2 and the expected distance of two random points in a region

of diameter D,,,ax The computation of D,,,, using numerical integration is as follows:

1. Use spherical coordinates to locate points at altitude A:

x = (R, + A) sin(El) cos(Az)
!y = (fl, + A)sin(El)sin(Az)
S(R, + A) cos(El)

where 0 < .4A < 2- and 0 < Eil,,, = 2arcsin ( UA)

2. The distance between two points (Az.El) and (A:'.EI') is

Dis = V2(R, + A) /1 sin(E) sin(El')cos(A: A') -cos(El)cos(El')

3. Algorithm:

(a) for ij = [1.Nt]: A A:' = 2:r(-
(b) compute frequency of abs(i-j):
num[0] = NA
num [k] = 2 (N -k), for k = [1,N,-1]
(c) sum all pairs distance:

sum = 0
for EI.El'= [1,Nt]
do for k = 0 to N,,-1
do sum = sum + nlum[k]xDis(k.EI,EI')


4. Running time is O(Ni =), which is much better than storing -t points
and then computing the all pairs distances: an 0(AiNl 2) algorithm


Table 5.4 contains computed values of D,,,v for Np.X., regions. Three methods of

computation were used for comparison.

























Table 5.4. Da Versus Altitude


Altitude Dmr Random Grid AN,.
(km (km) i) X,V D,,,.,- D,,,,- 2 D,,-3
10497 31246 2 3 1.014 1.016 0.971
4669 18040 2 0.970 0.974 0.923
3365 14729 3 4 0.961 0.960 0.912
2616 12683 3 5 0.950 0.950 0.895
2126 11250 3 6 0.945 0.944 0.894
1593 9564 4 6 0.936 0.937 0.888
1366 8783 5 6 0.932 0.934 0.885
1256 8392 4 7 0.930 0.932 0.880
1014 7472 4 8 0.925 0.928 0.878
830 6715 5 8 0.928 0.925 0.884
673 6014 5 10 0.916 0.923 0.876


Notes:

1. Random topologies have numbers of satellites proportional to surface area.


2. Grid uses satellites on a grid of approximately 0.25 degrees.


3. .\ = 5. NS = 18 topology.












5.6 Imnortance of t he Model


1. The propagation delay for strings. rings. etc. in a region can be compared with

closed formulas.


topology average furthest points distance # antennas

string Dvg(Nodes l)Dm,,/2 2

ring Dv, L i [ D= /2 2

double ring D,, (1 + i lo-' j) D,,,,,/2 3




2. The propagation distance between regions for single altitude systems can be

compared with 2-altitude systems by using closed formulas.

3. Large numbers of satellites do not make the model more complex and the model

becomes more valid as the number of satellite changes increase.

4. The model is valid for link assignment based on queue length or connectivity.

5. The model approximates any 2-altitude deployed satellite configuration.


5.7 Visibility Probability

If satellites are distributed uniformly per unit area. t he probability of two satellites

being visible is only a function of altitude. This is useful for analytic appoximations

for connectivity. Table 5.5 contains the visibility probability values for various alti-

tudes. For comparison purposes three methods of computation were used.

..8 Conclusioins

The *Vp. Ns model provides a regular topology for which analytic solutions can be

obtained for the performance of a network. A link assignment strategy which takes
























Table 5.5. Probability of Two Satellites Being Visible

Altitude Visibilitv Probability Percentage
(km) Random Phase = ,,, Phase = 0 I Grid
11000 90.0 82.1 S2.1 85.8
10000 87.8 80.9 81.0 84.0
9000 84.7 79.6 79.5 81.9
8000 83.5 77.9 77.6 79.3
7000 80.5 75.2 75.5 76.1
6000 76.9 70.2 70.3 72.2
5000 72.9 66.6 66.2 67.2
4000 65.9 60.7 61.1 60.9
3000 57.2 51.9 51.9 52.8
2000 46.3 43.6 43.8 43.0
1000 27.8 27.5 27.5 29.3


Notes:

1. Random topologies have numbers of satellites proportional to surface area.

2. Phase = 0 and phase = p, are .V, = 5. N, = 18 topologies which are time
averaged over one period with zero phase and 27/90 phase offsets respectively.


3. Grid uses satellites on a grid of approximately 1 degree.









54


advantage of the regularity inherent in the model is introduced. In addition the

NP. AV, model can be extended to regions in which a 2-level hierarchical model can be

used for random topologies. Although the total delay measures assume steady state

conditions, the transient response can be approximated when propagation delays are

long compared to the queueing delays for high data rate communications. Future

research will use the transient response to analyze link failures, thus help prevent

link saturation in a congestion avoidance algorithm.

















CHAPTER 6
K-PATHS OF MINIMUM TOTAL COST

Redundant messages can be used in a network to reduce delays caused by retrans-

mission. By using disjoint paths, the reliability of message transfer can be improved.

In particular, routing algorithms proposed for SDI have used multiple paths for in-

creased survivability [8]. Suurballe [35] has given an algorithm for a minimum total

cost set of node disjoint paths. However, if K-paths are desired and K disjoint paths

do not exist, then some nodes must be repeated.

In this chapter two algorithms are presented for finding K-paths of minimum total

cost. Section 6.1 gives the algorithm for fewest repeated nodes or links, and section

6.2 gives an algorithm for finding disjoints paths of minimum total cost which uses a

different metric than the Suurballe algorithm, but is faster.

6.1 Fewest Repeated Nodes or Links

Let G be an undirected graph containing m links (edges) of non-negative cost and

n nodes (vertices). An algorithm is presented which finds K-paths on G between a pair

of nodes which are of minimum total cost and have fewest repeated nodes or links.

The running time for dense graphs is O(IKn) and for sparse graphs O(Km log n).

The algorithm uses the solution to a modified minimum cost flow problem to find the

desired K-paths.

6.1.1 Definitions

The path cost definition provides for metrics of propagation delay (Linkdi.sance)

and retargeting frequency (Linkcost = 1/Remainingink_time). The latter metric












is for rapidly changing network topologies such as the proposed SDI communications

network.


The path cost is:


path cost
where P P


= P I +-V Frequen~cyi
= E Linkdisitancei on path P
or
= MAX[Link_costi] on path P
= n \MAX[Linkdistancc,]
or


= 1 + NAX[Ltinkco.,ti]
= number of times node i or
on the K-paths


link i is used


The second term of the path cost is a penalty for repeated nodes or links. This

term is zero for disjoint paths.




The corresponding flow problem for the defined path cost is as follows:
c(u.v) = capacity of link from node u to v
d(u.v) = cost of link from node u to v
f(u.v) = flow from node u to v, no greater than c(u.v)
E out-going flow E incoming flow = 0. if not source or destination
= K. if source
= -K. if destination
where K is the number of desired paths

Minimize cost C. where
C = FC + iEJ',, 1- [f(u, v) -1.0]
IFC = E,>, f(u.v)*d(u.v)
or
FC = E \ MAX[d(u.v) on path i]



The second term of the cost function. C is a modification to the minimum cost flow

problem. This modification produces an extrema, for each of the following cases:


lreqquencyq












1. W = 0 and d(u,v) > 0

2. IV > 0 and d(u,v) = 0

3. W > 0 and d(u,v) > 0

Case 1 can be used for disjoint paths when the capacity is limited to 1. Using an

arbitrary capacity for individual links is useful for restricting flow on risky links.

Cases 2 and 3 are used for fewest repeated nodes or links. The weight, W is picked

such that the cost of a repeated node or link exceeds the maximum cost of | P 1.

Hence a minimum total cost set of disjoint paths will be found first, and if additional

paths are required, then the fewest possible nodes or links will be repeated.

6.1.2 Discussion of the Approach

Ford [18] and Dantzig [12] provided early solutions to the minimum cost flow

problem. Edmonds [15] showed how augmentation along a minimum cost path would

produce a minimum cost flow with each iteration. Figure 6.1 shows the steps for

producing a minimum cost flow for a network with capacity of 1 for all links. (1) A

minimum cost path, P is found from A to Z. (2) Each link on P receives a flow of 1

and the link is reversed. The saturated links have a negative cost because a flow in

the reversed link will cancel the existing flow and reduce the total cost of the flow.

Adjacent links to the source with flow of 1 cannot be reduced, so are removed. This

may not be obvious, but is shown to be true for a minimum cost flow. (3) Step 1 is

repeated and another shortest path is found. This produces a flow of 2. and hence 2

link disjoint paths of minimum total cost given by P2.

Dijkstra's shortest path algorithm [14] cannot be used directly on a, graph with

negative edges. However, it can be used on an equivalent canonic network as shown

by Suurballe [35]. The Dijkstra labels, L, (cost from source to node i) are used to





























P = ABCDEZ
Pt = ABCDEZ






















P = AEDGZ
P2 = ABCDGZ,
AEZ


Figure 6.1. Finding A Minimum Cost Flow












transform negative arcs to positive ones:




d' = (Li + d) L,



The algorithm for K-paths of minimum total cost with fewest repeated nodes and

links is very similar. A minimum cost path is found from source to destination on

a transformed graph. G'. The construction procedure for G' provides for arbitrary

capacity links and weights for links or nodes with flow greater than 1.












(3.1.3 Flow to Graph Constructs


Fewest Repeated Links


Let f[i.j] be the flow from node i to node j, d[i.j] the edge cost. W the repeat

link weight. c[i,j] the link capacity, and G be a simple undirected graph. The graph

constructs for a flow f[i,j] are shown in figure 6.2.


if f[i,j] = 0 and f[j,i] = 0






if f[i,j] = F and f[j,i] = 0,
where F < c[i,j]





if f[i,j] = c[i,j] and f[j,i] = 0


d[i,j]


d[j ,i]


W*F+d[i,j]


-W*(F-l)-d[i,j]


-W*F-d[i,j]

0 --Q-


Figure 6.2. Flow to Graph Constructs For Fewest Repeated Links

Explanation of constructs:
1. f[i.j] = 0 and f[j.i] = 0: the flow from i to j or j to i can be increased to 1
2. ffi.j] = F and f[j,i] = 0: the flow from i to j can be increased by 1 or the flow
can be decreased by 1
3. f[i,j] = c[i.j] and f[j,i] = 0: the flow can only be decreased by 1












Fewest Reneated Nodes


Let f[i.j] be the tiow from node i to node j. d[i.j] the edge cost. c:i.j] the link

capacity. W the repeat node weight. Ft[i] the sum of in-coming flow of node i. and

c be a simple undirected graph. The graph constructs for a flow f[i.j] are shown in

figure 6.3.


if f[i,j] = 0 and f[j,i] = 0 d[i,j]



d[j,i]



if f[i,j] = F and f[j,i] = 0, i d[i,j]
where W*Ft[i]
F < c[i,j]
Wr = W*(Ft[i]-l)
-Wr -d[i,j]



if f[i,j] = c[i,j] and f[j,i] = 0 i -d[i,j]
DO-Wt [----
-W*Ft [i]


Figure 6.3. Flow to Graph Constructs For Fewest Repeated Nodes












6.1.4 K-Paths Algorithm
Fewest Repeated Links
1. f[i,j] = 0 for all i and j
2. construct G' from G using the graph constructs for f[i.j]
3. remove any arcs on G' which enter the source
4. find the minimum cost path, S on G' from source to destination
if S does not exist, go to step 7 (K paths do not exist)
5. for each edge on S: if edge from i to j on G' is positive then f[i,j] = f[i,j] + 1;
otherwise f[j,i] = f[j,i] 1
6. if Zj f[source.j] < K. then go to step 2

7. use a breadth first search on matrix f[i,j] to find the paths from source to
destination
Note: the set of paths is not unique, but all sets have the same total cost

Correctness proof:
The following propositions are made, with proofs or references to proofs given in
section 6.1.5.
1. construction of G' from G and f[i,j] provides for all possible minimum cost flows
2. if f[i,j] > 0, then the flow construction has 2 parallel edges from j to i: (1) a
negative edge corresponding to a flow reduction (2) a positive edge correspond-
ing to a flow increase; hence the positive edge can be ignored without loss of
generality
3. flow augmentation is along the minimum cost path: this guarantees the cost
function is minimum for each flow increment
4. the final flow is K if S exists on the last iteration

5. the number of paths is equal to E, f[source.j]

6. the number of repeated links is minimum
7. the shortest paths on G' are link simple
8. no flow reduction can occur on links adjacent to the source

A consequence of the minimum total cost set of paths with repeated links is that

bi-directional links will not occur. This may seem counter-intuitive, but results from

the shortest path always following a link reduction (negative cost) rather than link

increment (positive cost).












Fewest Repeated Nodes

The algorithm for fewest repeated nodes is very similar, the only difference is

that each node is split into "to" and "from" with an arc of cost equal to the weight

connecting "to" and "from". The weight is applied to node i when it is on a minimum

cost path S. The node splitting need not be explicit. It can be done implicitly by

modifying Dijkstra's shortest path algorithm. The update step becomes:



Lj = IIN[Lj.di+ + Li + II]



Correctness proof:

The following propositions are made, with proofs or references to proofs given in

section 6.1.5.


1. all propositions made for link disjoint paths

2. the number of repeated nodes is minimum

3. the shortest paths on G' are node simple for all positive links

Maximum Cost Link on Minimum Cost Path

The maximum cost link on the minimum cost path can be found by using Dijk-

stra's algorithm with the sum function replaced with the maximum function. Hence

the update of the label's becomes:


Lj = MIN[Lj, MAX(dij, Li)]












The proof is as follows: Given: A directed arc graph G(V,E), where V is the

set of vertices V = {I.. 02,....V and a set of edges E = {el, 6.... em} with no

self-loops. Assign a cost to each edge and denote the edge from vertex vi to vertex

as u(i,j) with cost c(ij), where -co < c(i.j) < 0.


Algorithm:
a. Initialize
Unknown = V {v }; all vertices are unknown except source
L[i] = c(Ai), if .'i is adjacent to v.1; the tentative cost
= ,c. otherwise: of going from vertex cv to c;
Define L[A] = 0

b. Find index s such that L[s] = MIN(L[i]: for all i.
i an index of the vertex in the set Unknown)

c. Unknown = Unknown {v,}

d. For all vertices vi adjacent to v, in the set Unknown:
L[i] = MIN(L[i],MAX(L[s],c(s,i)))

e. If Unknown is not empty, go to step b


Correctness Proof: Prove by induction that L[i] is the cost of the minimum cost

path from VA to v,.

basis: At initialization only the origin v,i is not in Unknown and L[A] = 0. Hence

the basis is true by definition.

loop invariant: If vertex vi is not in Unknown. then L[i] is the cost of the minimum

cost path from vA to V'.

inductive step: Assume that the loop invariant holds on the previous iteration. In

the current iteration

1. choose s such that L[s] is the minimum L[i] for all vi in Unknown


2. Unknown nknon known { v,}












3. L[x] = MIN(L[x],MAX(L[s],c(s,x))), for all v, in Unknown

claim i: Any path P, from v.4 to c, which has vertices from Unknown has cost

greater than or equal to L[s]. Assume by way of contradiction that some path P,,

has cost C,
where L[s] is minimum leads to a contradiction in (1).

claim ii: L[s] is the cost of the minimum cost path from c.. to v,. We know that there

is a path from v., to v, using only vertices not in Unknown. By the update procedure

L[s] < MAX(L[s].c(s.x)). thus L[s] < cost of minimum cost path.

6.1.5 Proofs

Lemma 6.1: The 3 flow constructs of figure 6.2 provide for all possible flow aug-

mentations along a minimum cost path on G'.

Proof: Let Fo: f[ij] = 0 and f[j,i] = 0;

FF: 0
F,: f[i.j] = c[i,j] and f[j,i] = 0.

Case 1): A link with no flow is represented by Fo. By definition, the flow can only

increase. Links from i to j and j to i provide for an increase of flow in either direction.

The cost of a flow increase is d[i,j].

Case 2) A link with non-zero flow and not saturated is represented by F-. The flow

in the link can either increase or decrease. A flow increase is feasible with link from

i to j. The cost of the increase is W*F+d[i,j]. A flow decrease is feasible with link

from j to i. The flow decrease can be represented by two parallel links from j to i: a)

a negative cost link. -(F-1)*W-d[i.j] b) a positive cost link. d[i.j]. The flow augmenta-

tion is along the minimum cost path. Since -(F-1)*\\-d[i.j] < d[i.j], the augmentation

path will always follow the negative cost link. Hence the positive cost link from j to

i can be neglected without loss of generality.












Case 3) A saturated link is represented by F-. By definition, the flow can only de-

crease. A link from j to i of cost -W*F-d[i,j] will reduce the cost function by reducing

the flow from i to j by 1 unit.



Lemma 6.2: The construction of G' from G and f[i.j] provides for all minimum cost

flows.

Proof: Initially f[i,j] = 0 for all i and j. This state is represented by construct Fo. If

a path exists from source to destination, then one or more links will have a. flow of 1

after the first flow augmentation. Each link of G will be represented by Fo.FF. or F,

on G'. By lemma 6.1, all possible flow augmentations can be represented by G'. At

any augmentation step 0 < i < K, FO,FF.F, represent all feasible flows because the

link flow transitions due to augmentation are constrained to be:

Fo FF or F,

FF -- Fo, FF, or F,

Fc FF or Fo

All flow augmentations are feasible and hence all minimum cost flows can be repre-

sented by G' from G and f[i,j].



Lemma 6.3: The cost function C is minimized for each flow increment.

Proof: Theorem 5 in reference [18], p.121 proves a minimum cost augmentation path

added to a minimum cost flow of F, produces a minimum cost flow of F + 1 for a.

cost function with I" = 0. (i. e.. no penalty term). Theorem 4 in [15] shows the

minimum cost path is a. shortest path. It will be shown that the cost function. C'

with no penalty term for graph. G' is equivalent to a cost function. C with penalty

for graph. G. Let each link on G' with capacity c[u.v] be represented as c[u,v] links

of capacity 1. Assign a cost to the i'1 link as TI i+d[u.v]. By references [15.18]












a minimum cost flow can be obtained on G'. Since the flow augmentation always

chooses the least cost link, higher cost links can be ignored without loss of generality.

Hence the cost. C' of a flow on G' with no penalty term is equivalent to the cost C

with link penalty term on G. Proof using the node penalty term is analogus. Split

each node into "to" and "from" nodes connected with links of capacity 1 and cost

W i for the ith link. Using the same arguments for the link penalty term proves

the cost function C is minimized for each flow increment and this completes the proof.



Lemma 6.4: The number of paths is equal to T. f[source.j].

Proof: Let K' = Ej f[source,j]. K' is equal to the number of augmentations since

each augmentation increases the flow from the source by 1. Hence there are K' paths

from the source to nodes adjacent to the source. By the conservation of flow, the

out-going flow must equal the in-coming flow to a node, unless it is the destination.

So. if a flow of KD goes from source to destination with no intermediate nodes, then

K'-KD paths exist from source to destination with one or more intermediate nodes.

At any intermediate layer of nodes from the source, there will be a flow of K'-KD',

where KD' is the flow into the destination node. By the conservation of flow there

must be some layer of nodes from the source where K' = KD' and hence K' paths

exist from source to destination.



Lemma 6.5: The final flow is K iff S exists on the last iteration.

Proof: The flow is increased by 1 with each iteration on which S exists. After K

iterations, the flow is K. If S exists after K iterations, then S must have existed on

the previous K-1 iterations because the algorithm terminates when S does not exist.

Hence the final flow is K iff S exists on the last iteration.












Lemma 6.6: The number of repeated nodes or links is minimum.

Proof: Assume some path P' has fewer repeated nodes or links than the minimum

cost path, P. The cost of the penalty is f[i.j]:W\ with W > MAX I P 1. Since P <

P'. a contradiction in the constraint MAX I P 1< \V exists. Hence the number of

repeated nodes or links is minimum.



Lemma 6.7: The minimum cost paths on G' are link simple.

Proof: Assume paths P1 and P, exist on G' between an arbitrary pair of nodes.

Suppose the flow augmentation chooses P1. then P, < PI. Reversing all links on P,

results in a cycle of cost P2 P1 > 0. Hence all cycles produced by the flow augmen-

tation are non-negative. Positive cost loops greater than zero violate the minimum

cost path constraint and zero cost loops will not occur in a shortest path algorithm

when a node simple path exists. Hence minimum cost paths on G' are link simple.



Corollary 6.1: The flow on a link adjacent to the source cannot be decreased.

Proof: Reduction of flow on a link adjacent to the source implies the source is on a

negative cycle. As shown in lemma 6.7. negative cycles do not exist on G'. Hence the

flow on adjacent links cannot be decreased.

6.1.6 Conclusions

An algorithm is presented which finds I-paths of minimum total cost with fewest

repeated nodes or links. The running time is the same as that for finding a shortest

path on a graph. The algorithm can be used for multiple path routing for increased

reliability. Two different metrics are given: (1) propagation delay (2) retargeting

frequency. The latter metric is useful for rapidly changing topologies such as the

proposed SDI communications network.












The solution to the minimum cost flow problem with penalty term is used. A

graph to capacity flow transformation is given.

6.2 A Quick Algorithm for Disjoint Paths

Suurballe [35] has given an O(K n' log(n)) algorithm for node disjoint paths of

minimum total distance between a single source and all destinations. Another impor-

tant metric is remaining path time, where link cost is the reciprocal of remaining link

time. For low altitude satellite networks, remaining link time may be only minutes.

Hence to reduce the number of path changes, the minimum sum of the remaining

path time reciprocals can be used.

Let G be an undirected graph containing m links (edges) of non-negative cost and

n nodes (vertices). The cost of a path is defined to be the maximum cost link on

the minimum cost path. An algorithm is presented which finds a maximal number of

disjoint paths of minimum total cost between any pair of nodes on G. The running

time of the algorithm for a single source to all n 1 destinations is O(K nm). where

K is the number of disjoint paths.

6.2.1 Discussion of the Approach

The maximum cost link on the minimum cost path can be found by using Dijk-

stra's algorithm with the sum function replaced with the maximum function. Hence

the update of the label's becomes:



Lj = MIN[Lj, MAX(d;, Li)]



The path cost of the maximum cost link on the minimum cost path can only be

from the set of link costs rather than the universal set. Using this fact will provide












for a faster algorithm than Dijktra's shortest path algorithm. The speed up comes

in finding the minimum cost label, which can be clone in constant time rather than

log n time.

The minimum cost label can be found in constant time for the maximum cost edge

on the minimum cost path by using a link cost transformation. The transformation

uses the index of the sorted list of link costs. If two links have the same cost, then

they have the same index. Hence the range of the link costs is from 1 to the number

of edges.

The algorithm uses the Hlow to graph constructs given in 6.1. however the link

flow is constrained to be 0 or 1. The following sections give the algorithm and proofs.

6.2.2 Disjoint Path Algorithms
Link Disjoint
1. f[i][j] = 0 for all i and j (flow from i to j)
2. generate adjacent node list for each node i.
AdjNodes[i][k]: i = 1,..,n and k = 1,..,DegreeOfl
3. sort links into increasing order, place in SortedLinks[i]
4. assign link numbers:
count = 1: LastLink = -1
for i = 1....NumberOfLinks
DO BEGIN
LinkNumber[i] = count
if (SortedLinks[i] NE LastLink) THEN count = count + 1
LastLink = SortedLinks[i]
ENDi

5. conl[i][j] = LinkNumber[], if edge on input graph (undirected) G exists, other-
wise conl[i][j] = MAXINT (edge does not exist)
6. for each destination node j = 1,..,n
BEGIN
7. for each path m = 1...,NumberDisjointPaths
BEGIN
8. use MaxMin algorithm to find a path. S from source to j (use conl[i][j] and
AdjNodes[i][k])











9. for each edge on S between i and j: if (conl[i][j] > 0)
THEN BEGIN conl[i][j] = conl[i][j] + W: f[i][j] ; con][i] = -conl[j][i];
END
if (conl[i][j] < 0)
THEN BEGIN f[j][i] = 0; conl[j][i] = conl[j][i] VW; conl[i][j] = -conl[i][j]; END
10. END m
11. use breadth first search on f[i][j] to find the paths from source to destination
(use AdjNodes[i][k])
Note: f[i][j] and conl[i][j] are restored to initial state with:
if (f[i][j] = 1)
THEN BEGIN f[i][j] = 0; conl[i][j] = conl[i][j] WV; conl[j][i] = -conl[j][i]; END
12. output disjoint paths from source to j
13. ENDj

Correctness proof:

The propositions made in section 6.1.4 for the I-paths algorithm apply here. The

proofs or references to proofs are given in section 6.2.3.

Node Disioint

The algorithm for node disjoint paths is very similar, the only difference is that

each node is split into "to" and "from" with an arc of cost equal to the weight con-

necting "to" and "from". The weight is applied to node i when it is on a minimum

cost path S. The node splitting need not be explicit. It can be done implicitly by

modifying the maximum cost link on the minimum cost path algorithm. The update

step becomes:



L, = MIN[L,, .AX(dj, L, ) + Wj]



Correctness proof:

The following propositions are made. with proofs or references to proofs given in

section 6.2.3.












all propositions made for link disjoint paths

the shortest paths on G' are node simple for all positive links

Maximum Cost Link on Minimum Cost Path

Determine the cost and path of the maximum cost link on the minimum cost

path from source to destination.



The algorithm is:
1. initialize link cost bins. best distance labels, and path tree:
for i = 1....NumberOfEdges DO Bin[i] = 0
for i = 1..,n DO BEGIN
L[i] = conl[source][i]; tree[i] = source; Bin[L[i]] = i: END i

2. for i = 1 to NumberOfEdges
BEGIN if (Bin[i] > 0)
BEGIN
for all nodes j at i:
for all nodes k adjacent to j:
if (L[k] > MAX(L[j],conl[j][k])) THEN BEGIN
tree[k] = j; L[k] = MAX(L[j],conl[j][k]); add k to Bin[L[k]]; END if
3. END i.j,k

Correctness Proof:

Lemma 6.8: For each pair of link costs d[i.j] and d[p,q], there is a relation Ripq =

{<,=, >} which is identical to Rjpq for LinkN:umberij and LinkNumnberpq.

Proof: Assume d[i,j] Rijpq d[p,q] and LikNum. beri Rjp,, LinkNumber-pq. Rzjpq =

Rijq because the sorting and assignment rule preserve {<,=. > }. Conversely, assume
LinkNumberij RMjpq LinkNumberpq and d[i.j] R,,,,pq d[p.q]. Rijpq = R'jpq because the

elements d[x,y] are sorted for all x,y and the assignment rule preserves {<,=, >}.


Lemma 6.9: Compression of link values d[i,j] into LinkN.umberi( does not change












the minimum cost path P. where path cost is equal to the maximum cost link.

Proof: The best distance labels. Lj are determined by the rule:

L- = MIN[Lj,MAX(dij, Li)]



Hence Lj is determined only by the maximum and minimum operators. By lemma

6.8, Rijpq = Rijp,, so the operators choose the same links. Hence compression of link

values does not change the minimum cost path.



6.2.3 Proofs

Lemmas 6.1 through 6.7 prove the general algorithm for fewest repeated nodes or

links. No repeated nodes or links is a special case of the general algorithm.

6.2.4 Conclusions

An algorithm is presented which finds disjoint paths of minimum total cost. The

running time is the same as that for flow augmentation. The algorithm can be used

for multiple path routing for increased reliability.

















CHAPTER 7
EVENT DRIVEN SIMULATION

An event driven simulation can run on one or more processors and can be imple-

mented at the packet level or M/M/1 queueing equation level. The SDI communica-

tions network was simulated using both approaches. The novelty of the packet level

simulation is that it runs on multiple processors with a dynamically reconfigurable

network [31,34,38]. Each satellite was modeled using a DSP32 processor. The recon-

figurable network reflected the link assignment. The novelty of the M/M/1 queueing

equation level simulation was that it would handle step changes in the traffic matrix.

The importance of using these two novel approaches is that a conventional packet

simulation on a uniprocessor is not feasible for large networks. The 1M/M/1 queueing

equation level offers a speed-up proportional to the packet transmission rate. A linear

speed-up in the simulation can be made by using a processor for each satellite, and

connecting all processors with high speed communication links.

Section 7.1 discusses the packet level simulation using multiple procesors and

section 7.2 discusses the M/M/1 queueing equation level simulation.

7.1 Distributed Packet Level Simulation

A simulation of a rapidly changing satellite network with laser cross links uses

an AT&T DSP32 processor for each satellite. The processors are connected via a

reconfigurable network which reflects the time varying topology. One or more laser

channels can be optionally inserted between the processors. A combined discrete

event and discrete time simulation is used for packet transfer between satellites [6,39].












Each packet contains time so that the simulation proceeds at the rate of the slowest

processor. Since the minimum delay between satellites is several milliseconds and

packet transfer rates of at least 10 per millisecond are used, each satellite can process

packets as discrete events during the minimum delay window.

7.1.1 Objectives and Measurements

The simulation provides a test of the algorithms used for link assignment, routing,

link failure detection, link reconfiguration, and data link protocols. Many different

algorithms have been developed and performance can be measured using various

topologies. Performance measures for link assignment include connectivity, retarget-

ing frequency, and propagation delay. Measures for routing include end-to-end delay,

rerouting frequency, and number of common satellites on multiple paths between ori-

gin and destination. Minimizing the number of common satellites on multiple paths

is an important consideration for survivable military communications.

7.1.2 Event Processing

The simulation proceeds based on the slowest processor (satellite). Each processor

has a counter which marks discrete time. The counter is included in each packet

transmitted. When a processor receives a packet with a smaller count, that processor

sets its counter to the smaller value.

The synchronization of clocks is not critical since each packet transmitted has a

minimum propagation delay of several milliseconds. Hence each processor can run a

discrete event simulation during the interval from the processors clock to processor

clock plus minimum propagation delay.

The clock synchronization assumes time packets will be transmitted if no other

packets are available to be sent. This adds overhead to lightly loaded links, but

not to heavily loaded links. Time packets may be used in the real system as well












because link establishment is done in advance and synchronized clocks are required

to eliminate waiting caused by a satellite with a slower clock.

7.1.3 Hardware Architecture

A multiprocessor simulation of a high data rate communications network requires

that all processors be interconnected via some high speed communications network.

This is necessary because packet transfers must be passed between the processors and

all packets must be processed in proper time sequence. For discrete event simulation

only the packet headers need be passed between the processors. However, if 100

packets/msec links are to be simulated. transferring only packet headers can be a

bottleneck in the simulation.

The high speed parallel and serial ports of the AT&T DSP32 are connected to

DMA channels, which make it well suited as a processing element in a distributed

architecture. One architecture which is being used on a board manufactured by DSP

Applications, Inc. uses one slow speed DSP32 as a controller for four high speed

DSP32C processors. The controller has the parallel ports of the DSP32C processors

connected to its 32 bit wide data bus. Since the parallel ports are either 8 or 16

bits wide, the DSP32 controller can read or write two or four processors in a single

instruction cycle. The serial ports on the controllers can be connected in a ring to

form a 2-connected network. In addition, the serial ports on the DSP32C processors

can be connected in a variety of ways to form a 3-connected network. The serial port

interconnection need not be static. 64X61 crossbar chips are available from Texas

Instruments which could be used to dynamically configure the DSP32C serial ports.

This architecture offers an improvement over the AT&T ASPEN machine which uses

the serial ports connected into a binary tree. In a binary tree. nodes near the root

become a bottleneck. This can be avoided by using a ring, at the expense of a longer












worst case path between processors. But this worst case path can be reduced by

connecting DSP32C processors as cords on the ring (using serial ports).

Use of a controller for four processors offers two kinds of satellite network sim-

ulations: 1) each DSP32C can be modeled as a satellite. 2) each DSP32C can be

modeled as a transmit/receive processor, so the satellite is modeled by the controller

and four DSP32C processors. The latter configuration offers four times the data rate,

but fewer nodes. This type of simulation is useful for real-time demonstrations.

An important advantage of the controller, four DSP32C processor architecture

is the modularity. Each DSP32C with 12S Kbvtes of memory and 25 MFLOPS of

processing capability can be contained on a 4" by 4" plugable card. A single board

for the IBM PC could contain a DSP32 controller and four DSP32C plug-in cards.

This would offer 100 MFLOPS of processing power. Multiple controller cards could

be used and all DSP32C processors would be fully connected via the controllers.

Hence any satellite topology could be accommodated via the parallel ports or the

serial ports.

The parallel port on the DSP32 controller is used to communicate with a host for

antenna direction control. The host controls the network configuration based on the

antenna direction commands received from each DSP32 controller.

7.1.4 Software Architecture

The software in each node is identical and executes as a single process. A node

could be either a single DSP32C or an IBM PC host with DSP32 controller and four

DSP32C processors. The software uses an object oriented approach. The objects are

satellites and packets. The following tables give the attributes of each.


SATELLITE

Attribute Description












CurrentAntenna[4]

FutureAntenna[4]

FutureAntTime[4]

CurPathPointer[4]

FurPathPointer[4]

Position[3]

NextPacketTime


list of satellites pointed at

list of satellites to be pointed at

time antennas will be pointed

pointer to list of satellites on path

pointer to list of satellites on future path

x,y,z coordinates of position

time next packet will be generated


PACKET


Attribute

Source

Destination

PathNumber

Stime

Atime

DataField


Description

source satellite number

destination satellite number

path number for disjoint paths

start time

arrival time

packet data


Each satellite contains a description of all other satellites in the network. The

descriptions are updated based on packet exchange and predicted satellite positions.

It is assumed that each satellite has four antennas (the number of processors time

multiplexed). Hence the dimension of four on the satellite attributes. The four path

pointers are for multiple paths. For example, the satellite j description by satellite i

would have the first satellite on the path as i and the last as j.












Link assignment and routing can be clone in advance since orbital mechanics are

used to predict future satellite positions. Hence no transmission time is lost due to

the overhead of executing the algorithms.

Each packet has a path number and an optional data field. The path number is

used to uniquely define the packet route when node disjoint routing is used. Other

routing algorithms use only the destination and ignore path number. The data field

can be null for information packets. This reduces the simulation communication

between processors. The simulation statistics reflect the transmission of a full data

field by adjusting arrival times (Atime) to be propagation delay plus transmission

time of a full packet.

The transmission queues (propagation) are combined with the satellite antenna

queues for ease in processing. The Atime is the time the packet will arrive at the

satellite. Hence, the packet stays in the queue until the simulation clock is greater

than Atime. The queues are sorted based on Atime. For packets being generated,

the Stime and Atime are the same. When a packet reaches its destination, the delay

statistics are computed and the packet disappears.

Routing and link control are passed via the data field. For most packets this field

is null. but for packets where link change information is needed or protocol testing is

desired, the field is filled in.

The event handler provides two services (1) it checks all in-coming packets for

routing or link control information and passes them to the appropriate control rou-

tines, (2) passes all other packets to the routing routine for satellite queue determi-

nation or if it has reached its destination, it passes then to the packet delay statistics

routine.












7.1.5 Software Module Description

The satellite simulation program is written in C-language. The modules are in-

clude files, which facilitate algorithm testing. A common set of procedure calls are

used for each module. Hence, if a different link assignment algorithm is to be tested,

only the include file name need be changed. The following table provides the functions

of the current modules.


Module Name Functions

connect.li disjoint paths, graph connectivity

topology.h 3-D rotation. satellite visibility, orbits

kpaths.h multiple path routing algorithms

neighbor.h nearest neighbor link assignment

packet.h packet generation and queueing

schedule.h event handling, simulation control




7.1.6 Conclusions

A DSP32 multiprocessor architecture is described which will accommodate high

speed simulation of large networks. The processors are 3-connected with a dynamic

topology. The topology can be made to match a rapidly changing satellite network

topology. The advantages of the multiprocessor architecture include: 1) modularity,

2) high speed communication. 3) nodes can be modeled as a single processor or four

processors. 4) dynamic reconfigurable network. 5) all processors are fully connected

via DSP32 controllers.

The software architecture is also modular, using include files to implement the net-

work communications software. A common calling convention allows link assignment












and routing algorithms to be swapped without affecting the rest of the simulation

program.

7.2 NM/M/1 Queeing Level Simulator

The MI/M/1 notation means that packet generation is done using an exponential

distribution. This should be valid for target report generation which is expected to

account for 80% of the SDI traffic. Other assumptions of M/M/1 include unbounded

buffers and first-come-first-serve scheduling of t lie queues. The latter restriction does

not mean that pre-emption cannot be used for priority packets. If priority packets

are few in number, then the queueing delay can be neglected, since it should be small

compared to the propagation delay.

The principal advantages of 1M/M/1 for the SDI simulation are:

1. analytical solutions can be used to reduce simulation time

2. the simulation results reflect the true average characteristics of the network

3. transient responses can be studied

The disadvantages of M1/M/1 include:

1. worst case conditions may be hard to represent

2. 1M/M/1 assumptions may not be valid

Because of link and routing changes, an lM/I/1 simulation would not be appro-

priate for SDI. However, a mixture of NI/NI/1 and packet level could certainly be

valid. The following sections describe the equations and algorithms for computing

the packet end-to-end delay for a transient response. It is assumed the SDI traffic

will be a series of traffic steps.












7.2.1 Total Delay

The total elapsed time between when a packet is sent and when a packet is received

is the total delay. This delay contains propagation delay and queueing delay. The

propagation delay is constant if the topology does not change and is simply the ratio

of distance and velocity of light in a vacuum. The queueing delay varies and has

a minimum time equal to the time it takes to transmit one packet in a store and

forward network. In a relay node, the queueing time can be zero because the packet

is not stored before it is re-transmitted. For high data rate satellite networks, the

transmission time is microseconds while the propagation time is milliseconds. so the

packet store time can be neglected (swamped by propagation time).

For the M/MI/1 equation level simulator an algorithm is needed to first compute

the link flows and then add the propagation delay and queueing delay. The queueing

delay is given by:


queue-delay = (7.1)
link-capacity linkflow

The algorithm for finding the total network delay is:

TrafficFlow[i,j] = packets/sec from satellite i to satellite j

ProbabilityOfUse[i,j,k] = probability of using path k from
satellite i to satellite j
/* k = 1,2,3,4 */

for i = 1 to Np*Ns
for j = (i+1) to Np*Ns
{
generate 4 node disjoint paths from i to j
for k = 1 to 4 /* node disjoint paths 1,2,3,4 */
{
PropagationDistance = sum of D values from
closed formula
P = ProbabilityOfUse[i,j,k]
PropagationDelay[i,j] = PropagationDelay[i,j] +
P*PropagationDistance/SpeedOfLight
for nodes = 1 to nodes_on_path_k 1












{
p = from_node
q = to_node
Flow[p,q] + Flow[p,q] + P*TrafficFlow[i,j]
Flow[q,p] = Flow[q,p] + P*TrafficFlow[j,i]
}
}
}
C = linkcapacity /* link_capacity > Max(Flow[i,j]) */
for i = 1 to Np*Ns
for j = (i+1) to Np*Ns
{
TotalDelay[i,j] = PropagationDelay[i,j]
TotalDelay[j,i] = PropagationDelay[i,j]
generate 4 node disjoint paths from i to j
P = ProbabilityOfUse[i,j,k]
for k = 1 to 4 /* node disjoint paths 1,2,3,4 */
for nodes = 1 to nodes on_path_k 1
{
p = from_node
q = tonode
TotalDelay[i,j] = TotalDelay[i,j] +
P/(C-Flow[p,q])
TotalDelay[j,i] = TotalDelay[j,i] +
P/(C-Flow[q,p])
}
}

7.2.2 Transient Response

The transient response for the packet level simulator only requires monitoring the

packet delays and computing a running average over some time interval. A convenient

interval is one millisecond. This interval is short compared to link propagation delays

(> 50 milliseconds), but long enough to average out the delay fluctuations caused by

exponential arrival times.

The transient response for the M/M/1 queueing equation level simulator uses the

following algorithm:

1. compute the steady-state total delay at time Ti for an Np.Ns network with

traffic matrix TM(Ti) and routing probability matrix RP(Ti)












2. compute the steady-state total delay at time Ti+1 for an Np.Ns network with

traffic matrix TM(Ti+1) and routing probability matrix RP(Ti+i)

3. find propagation times from each source node to each node along the path to

the destination node for all 2Np*Ns*(Np*Ns-1) paths

4. store the from node, to node, and corresponding propagation delay plus linear

approximation to queue delay

I
QueDelay(T,) =
LinkCap LiokFlouw(,)

QueDelay(T,+1) =
LinkCap LinkFlow(Ti+1)
DT = (T+)- (Ti)
t- Ti
QueueDelay(t) = QueDelay(Ti) + T- (QueDelay (Ti+) QueDelay(Tj))

5. order the times in a list, Tsl, Ts2, Tsn

6. for T = TsI, Ts2,..., Tsn

for all nodes in the list at time T

Fij(Tk) = Fij(Tk) + ATMsdRPsd (Tk T,)/DT

where Fij(Tk) is the steady-state flow from i to j at time TA.



ATMsdRPsd = TMsd(Ti+ )RPsd(Ti+,) TlIsd(T,) RPsd(Ti)



TMsd(Ti) is the source to destination traffic flow at time T,



7.2.3 Conclusions

An analytical method for computing the step response of a network is presented

which gives the average delay as a function of time. This approach is valid for









85


networks where propagation delay is long compared to queueing delay. The principal

advantages of this approach include: 1) average packet delay can be computed for

large networks, 2) true M/M/1 average delays are computed, 3) pre-emption can be

accommodated for priority packets.

















CHAPTER 8
CONCLUSIONS


This dissertation considers the SDI communications network as a system. Met-

rics for the performance of the system were given and solutions were derived which

optimized the metrics. Section 8.1 gives the significant results of the optimization.

The close association of topology, link assignment, routing, and performance metrics

are given in section 8.2. Finally, future work that could be (lone is given in 8.3.

8.1 Significant Results

Topology optimization was possible using the closed formulas derived for the

Np, \, model. The metrics were propagation delay and connectivity. Algorithms

were developed for more general topologies.

Link assignment was optimized using the Np, N, mesh. The connectivity was op-

timal for N:V N, topologies with 4 antennas and general topologies were near optimal.

An analytical solution was derived for the propagation delay of the Np, Ns mesh.

Routing algorithms were developed which have a primary objective of minimum

total cost and a secondary objective of fewest repeated nodes or links. The algorithm

for K-paths of minimum total cost with fewest repeated nodes or links is a gener-

alization of Suurballe's node disjoint algorithm. The generalization makes use of a

modified minimum cost flow problem which has a penalty term for multiple uses of

a node or link. The generalization also includes the linear metric of distance and the

non-linear metric of maximum cost link on the minimum cost path. The latter metric

is important when the overhead of retargeting is appreciable. This metric also offers












an asymptotically faster algorithm for the single source to all destinations routing

problem.

8.2 M~etrics

The source to destination delay of packets consists of queueing delay and prop-

agation delay. Using a single metric such as propagation delay for optimizing link

assignment can result in a small improvement in delay at the expense of reduced

connectivity and increased hops per path. These latter two metrics are important

for multiple path routing and congestion. Simulation of the NA,. A, mesh link assign-

ment has shown that shortest paths using distance as a metric may have several more

nodes than a shortest path using hops as a metric. In addition, comparison of hop

counts for shortest distance paths using 4 antennas and unlimited antennas shows the

longer paths with several more nodes. To minimize congestion, paths should have

the fewest possible nodes. The NA, N, mesh link assignment may not be the best

possible compromise between propagation delay, connectivity, and hops per path. A

heuristic such as Np, NA mesh could be improved by using a penalty for each link

used on a path. This might also reduce the number of repeated nodes or links in the

K-paths routing algorithms.

8.3 Association of Algorithms and Performance

The SDI communications network can be considered at the system level with

inputs and outputs. The inputs can be constrained to be injected packets and link

disturbances; while the ouputs are delivered packets. The topology, link assignment,

and routing algorithms are part of the system and effect the end-to-end delay of the

packets.

The association between topology, link assignment, and routing algorithms in this

dissertation is principally connectivity. The number of disjoint paths is limited by the












link assignment, which in turn is limited by the visibility matrix of the topology. The

performance measures are metrics to evaluate how well the topology, link assignment,

and routing algorithms work individually and as a whole system. Simulation provides

qualitative performance results for the algorithms using general topologies.

8.4 Extensions of the Research

Metric

The link assignment and routing algorithms use a single metric for the primary or

secondary objective. Some combination of metrics could be used.


Using Feedback From the Routing Algorithm

Algorithms have been given for link assignment and for routing, but the algorithms

work independently with the common objective of multiple paths of fewest common

nodes or links. An algorithm with feedback from routing to topology could produce

fewer common nodes or links. If the topology is considered fixed (such as a deployed

SDI system), then the feedback could be from routing to link assignment.

Neural networks have been used to solve optimization problems with feedback.

Perhaps n2 perceptrons would be needed to model n satellites, but the perceptrons

can be implemented on a digital computer. The ideal digital computer would have

a processor for each perception. Such an implementation has become feasible with

cheaper processors.


















APPENDIX A
NODE DISJOINT PATHS


Tables A.2 and A.4 contain the node disjoint paths for the mesh link assignment

using topologies of Np = 2. Ns = 3 and Ns = 4 respectively. The satellite numbers

are assigned according to the following equation:

SatelliteuVumber = 1 + Ns i + j, where i = 0..... Vp 1 and j = 0 ..., Ns 1

Table A.6 has the time invariant node disjoint paths for Np = 2, Ns = 3.


Table A.1. Adjacency Matrix for Np = 2. -Vs = 3

connectivity from i to j
j\i 1 2 :3 4 5 6
1 0 1 1 1 01
2 1 0 1 1 1 0
3 1 1 0 0 1 1
4 1 1 0 0 1 1
5 0 1 1 1 0 1
6 1 0 1 1 1 0















Table A.2. Node Disjoint Paths for Np' = 2. Ns = 3


node disjoint paths
1 6 5 2 3 6 4
142 3 5 4
1 3 2 3 2 4
12 3 14
1 6 3 3 6 5
1 4 5 3 35
13 3 25
1 2 3 3 1 4 5
1 6 1 3 6
1 4 3 5 6
1 3 5 4 3 2 4 6
1 2 4 3 1 6
1 6 5 4 6 5
145 45
135 425
1 2 5 4 1 3 5
1 6 4 6
146 4 5 6
1 3 6 4 2 36
1 2 5 6 4 1 6
2 5 3 56
2 4 6 3 5 4 6
2 3 5 3 6
2 1 3 5 2 1 6
2 5 4
2 4
2 3 6 4
2 1 4
214
2 5
245
2 4 5
2 3 5
2 1 6 5
2 5 6
2 4 6
2 3 6
2 1 6
236
216