12
Analysis of the contact graph routing algorithm: Bounding interplanetary paths Edward Birrane a,n , Scott Burleigh b , Niels Kasch c a Johns Hopkins University, Applied Physics Laboratory, 11100 Johns Hopkins Road, Laurel, MD 20723, USA b Jet Propulsion Laboratory, California Institute of Technology, 4800 Oak Grove Drive, Pasadena, CA 91109, USA c University of Maryland, Baltimore County, 1000 Hilltop Circle, Baltimore, MD 21250, USA article info Article history: Received 2 February 2011 Received in revised form 30 January 2012 Accepted 3 February 2012 Available online 24 February 2012 Keywords: Delay-tolerant networks Contact graph routing Solar system internet abstract Interplanetary communication networks comprise orbiters, deep-space relays, and stations on planetary surfaces. These networks must overcome node mobility, con- strained resources, and significant propagation delays. Opportunities for wireless contact rely on calculating transmit and receive opportunities, but the Euclidean- distance diameter of these networks (measured in light-seconds and light-minutes) precludes node discovery and contact negotiation. Propagation delay may be larger than the line-of-sight contact between nodes. For example, Mars and Earth orbiters may be separated by up to 20.8 min of signal propagation time. Such spacecraft may never share line-of-sight, but may uni-directionally communicate if one orbiter knows the other’s future position. The Contact Graph Routing (CGR) approach is a family of algorithms presented to solve the messaging problem of interplanetary communica- tions. These algorithms exploit networks where nodes exhibit deterministic mobility. For CGR, mobility and bandwidth information is pre-configured throughout the net- work allowing nodes to construct transmit opportunities. Once constructed, routing algorithms operate on this contact graph to build an efficient path through the network. The interpretation of the contact graph, and the construction of a bounded approximate path, is critically important for adoption in operational systems. Brute force approaches, while effective in small networks, are computationally expensive and will not scale. Methods of inferring cycles or other librations within the graph are difficult to detect and will guide the practical implementation of any routing algorithm. This paper presents a mathematical analysis of a multi-destination contact graph algorithm (MD-CGR), demonstrates that it is NP-complete, and proposes realistic constraints that make the problem solvable in polynomial time, as is the case with the originally proposed CGR algorithm. An analysis of path construction to complement hop-by-hop forwarding is presented as the CGR-EB algorithm. Future work is proposed to handle the presence of dynamic changes to the network, as produced by congestion, link disrup- tion, and errors in the contact graph. We conclude that pre-computation, and thus CGR style algorithms, is the only efficient method of routing in a multi-node, multi-path interplanetary network and that algorithmic analysis is the key to its implementation in operational systems. & 2012 Elsevier Ltd. All rights reserved. 1. Overview Interplanetary networks operate in the presence of transmission delays, sparse connectivity, and unavoidable Contents lists available at SciVerse ScienceDirect journal homepage: www.elsevier.com/locate/actaastro Acta Astronautica 0094-5765/$ - see front matter & 2012 Elsevier Ltd. All rights reserved. doi:10.1016/j.actaastro.2012.02.004 n Corresponding author. E-mail addresses: [email protected] (E. Birrane), [email protected] (S. Burleigh), [email protected] (N. Kasch). Acta Astronautica 75 (2012) 108–119

Analysis of the contact graph routing algorithm: Bounding interplanetary paths

Embed Size (px)

Citation preview

Contents lists available at SciVerse ScienceDirect

Acta Astronautica

Acta Astronautica 75 (2012) 108–119

0094-57

doi:10.1

n Corr

E-m

scott.c.b

nkasch1

journal homepage: www.elsevier.com/locate/actaastro

Analysis of the contact graph routing algorithm:Bounding interplanetary paths

Edward Birrane a,n, Scott Burleigh b, Niels Kasch c

a Johns Hopkins University, Applied Physics Laboratory, 11100 Johns Hopkins Road, Laurel, MD 20723, USAb Jet Propulsion Laboratory, California Institute of Technology, 4800 Oak Grove Drive, Pasadena, CA 91109, USAc University of Maryland, Baltimore County, 1000 Hilltop Circle, Baltimore, MD 21250, USA

a r t i c l e i n f o

Article history:

Received 2 February 2011

Received in revised form

30 January 2012

Accepted 3 February 2012Available online 24 February 2012

Keywords:

Delay-tolerant networks

Contact graph routing

Solar system internet

65/$ - see front matter & 2012 Elsevier Ltd. A

016/j.actaastro.2012.02.004

esponding author.

ail addresses: [email protected] (E.

[email protected] (S. Burleigh),

@umbc.edu (N. Kasch).

a b s t r a c t

Interplanetary communication networks comprise orbiters, deep-space relays, and

stations on planetary surfaces. These networks must overcome node mobility, con-

strained resources, and significant propagation delays. Opportunities for wireless

contact rely on calculating transmit and receive opportunities, but the Euclidean-

distance diameter of these networks (measured in light-seconds and light-minutes)

precludes node discovery and contact negotiation. Propagation delay may be larger

than the line-of-sight contact between nodes. For example, Mars and Earth orbiters may

be separated by up to 20.8 min of signal propagation time. Such spacecraft may never

share line-of-sight, but may uni-directionally communicate if one orbiter knows the

other’s future position. The Contact Graph Routing (CGR) approach is a family of

algorithms presented to solve the messaging problem of interplanetary communica-

tions. These algorithms exploit networks where nodes exhibit deterministic mobility.

For CGR, mobility and bandwidth information is pre-configured throughout the net-

work allowing nodes to construct transmit opportunities. Once constructed, routing

algorithms operate on this contact graph to build an efficient path through the network.

The interpretation of the contact graph, and the construction of a bounded approximate

path, is critically important for adoption in operational systems. Brute force approaches,

while effective in small networks, are computationally expensive and will not scale.

Methods of inferring cycles or other librations within the graph are difficult to detect

and will guide the practical implementation of any routing algorithm. This paper

presents a mathematical analysis of a multi-destination contact graph algorithm

(MD-CGR), demonstrates that it is NP-complete, and proposes realistic constraints that

make the problem solvable in polynomial time, as is the case with the originally

proposed CGR algorithm. An analysis of path construction to complement hop-by-hop

forwarding is presented as the CGR-EB algorithm. Future work is proposed to handle the

presence of dynamic changes to the network, as produced by congestion, link disrup-

tion, and errors in the contact graph. We conclude that pre-computation, and thus CGR

style algorithms, is the only efficient method of routing in a multi-node, multi-path

interplanetary network and that algorithmic analysis is the key to its implementation in

operational systems.

& 2012 Elsevier Ltd. All rights reserved.

ll rights reserved.

Birrane),

1. Overview

Interplanetary networks operate in the presence oftransmission delays, sparse connectivity, and unavoidable

E. Birrane et al. / Acta Astronautica 75 (2012) 108–119 109

node mobility, all of which present significant and uniquerouting challenges. These networks comprise orbiters,deep-space relays, and stations on planetary surfacescommunicating via radio frequencies. As radio wavespropagate at approximately the speed of light, existingdistance measurements based on the speed of light alsoserve as measures of propagation delays within the net-work. For example, Earth and Mars vary between 4.5 and20.8 light-minutes apart at any given time, which meansthat nodes on or near these planetary bodies requireapproximately 4.5 to 20.8 min for one-way signal propa-gation while communicating.

The orbital dynamics in these networks present com-plex geometries that must be understood when determin-ing opportunities for wireless contact. Spacecraft orbitcelestial bodies in ways not synchronous with the rota-tion of these bodies about their axes, or the orbit of thesebodies about the sun. Envisioned interplanetary networksare constrained to our solar system, which removes theneed to correct for the motion of the sun through thegalaxy. Even so, this complex mobility model results inrelatively few opportunities for line-of-sight contact. Thesignificant propagation delays encountered at interplane-tary distances further reduce contact opportunities. It ispossible, for example, that spacecraft orbiting differentcelestial bodies experience periods of line-of-sight shorterthan the propagation delay between them. Such a systemis illustrated in Fig. 1.

In this figure, if spacecraft A was to transmit to space-craft B based on existing line of sight, by the time thesignal traversed the distance between them, spacecraft Awould be in a different place. Therefore, both musttransmit based on where the receiving spacecraft will beat some point in the future. This figure captures anothersignificant constraint on space wireless communication:directional transmission. Deep-space spacecraft are typi-cally low-powered devices whose transmitters can dom-inate instantaneous component power requirements.Persistent, omni-directional transmission is not an optionin most power budgets, which means that the timing ofwhen transmitters are powered, as well as how dishes onthe platform are pointed, presents an additional logistic

Fig. 1. Bidirectional communications between multi-body orbiting

systems across great distances is difficult to optimize.

challenge. For example, an orbiter performing a sciencemission may or may not be able to slew so that aparticular transmitter or receiver dish is appropriatelypositioned to partake in a relay circuit.

The combination of propagation delays, node mobility,transceiver power cycling, and directional transmissionprovide significant obstacles to the automatic discoveryand synchronization of the network topology. To date,there is no practical automation mechanism that per-forms a global synchronization function. Regardless, pack-etized, multi-path, addressed data networks must providea reliable mechanism for constructing routes betweendata sources and sinks. Deterministic mechanisms forroute computation rely on the ability to construct, at eachnode, a reasonable approximation of the network topol-ogy. Any useful subset of the network topology mustcontain the source and sink of the message and sufficientintermediate nodes to represent a path.

The use of pre-configured topology informationexploits the observation that mobility in space networksis both regular and deterministic. While the motion ofnodes and celestial bodies remains complex, this motioncan be modeled far into the future. Similarly, spacecraftpower load cycles, trajectory corrections, and other man-euvers are planned in advanced. Unlike ad-hoc mobilenetworks, the rate of node addition to the networks is ofsufficiently low frequency as to allow for configurationand convergence on new topologies in operationallyuseful timescales.

2. Motivation

Packetized data requires mechanisms to discoverroutes through the network. These mechanisms mustoperate over distances whose propagation delays pre-clude bandwidth negotiation and topological conversionbased on discovery. Several routing algorithms used forDelay-Tolerant Networks (DTNs) have been proposed inthe literature [1–4]. However, these algorithms requireinformation exchange that likely does not scale in net-work size or distance. The Contact Graph Routing (CGR)algorithm, proposed by Burleigh et al. [5], presents aheuristic-based approach to route computation whichexploits regularity in space asset mobility to calculate aglobal network topology and its evolution over time.

The Bundle Protocol [6] is a packetized, overlay, store-and-forward protocol proposed for the exchange of datain interplanetary networks. The protocol data unit (PDU)for this protocol is the ‘‘Bundle’’, which contains a header,a payload, and zero or more extensions that govern theprocessing of the bundle at various nodes.

This paper is motivated by the need for a generalizedformulation of the routing problem within high delay net-works utilizing the BP, and to present that formulation as amechanism for evaluating new routing approaches. Such aformulation codifies the need to optimize transient connec-tivity without reliance on state measurement and synchro-nization. Complexity analysis of this formulation shows thatthere is no practical optimal solution and implementingnetworks must build approximations based on networkingassumptions. The paper is further motivated by the desire to

Fig. 2. Bundle extensions create waypoints in the network.

E. Birrane et al. / Acta Astronautica 75 (2012) 108–119110

consider the proposed CGR algorithm in the context of thisformulation, whether this algorithm supports identifiedapproximation strategies, and how CGR may be applied tocurrent and envisioned space networks.

3. The generalized routing problem

3.1. Overview

The CGR algorithm presumes the ability to pre-com-pute network topology. Additionally, CGR assumes topo-logical changes occur less frequently than the time tosynchronize configurations. In cases of planned topologi-cal changes, configurations may certainly be propagatedin advance of application. In the case of unplannedtopological changes this approach relies on a networkmanagement function to update the configurations ofaffected nodes. This work assumes that unplanned topo-logical changes are infrequent and that node failures areindependent. We consider contact-graph routing to be afamily of algorithms that operate on a configured graph ofcontacts within a system that, otherwise, cannot infer thetopology based on node discovery and state aggregation.

Routing algorithms compute paths through the net-work that result in message delivery within requiredtimeframes. The actions applied to constructed paths varybased on specific algorithms. Some algorithms strictlyadhere to a path unless it collapses in transit. Others use asubset of the path before re-computing a new path toreduce reliance on the correctness of the perceived net-work topology. All approaches require the construction ofcomparable paths through the network, with path com-parison based on minimizing a cost metric to maximize anetwork metric. When considering the complexity analy-sis of this process, the hardest problem is determining anoptimal path through the network. Therefore, routinganalysis focuses on the path computation algorithm.

The format of data sent through the network mayaffect the routing complexity. BP bundles, like mostpacketized data protocols, provide an information sourceand sink. Bundles also support a self-extension mechan-ism: the extension block. Within the space domain thereare several anticipated extensions to the bundle protocolthat place requirements on the routing subsystem.

Specifically, the Bundle Security Protocol (BSP) extends BPto include authentication, integrity and confidentialityciphersuites [7]. The integrity and confidentiality mechan-isms within the BSP propose security sources and security

destinations separate from the bundle source and bundle

destination. These nodes represent required waypoints incalculating paths and determining optimal proximate nodes.Considering the network proposed in Fig. 2, even if a moreefficient path exists between a particular bundle source anddestination, defined waypoints may need to be visited toensure that encryption applied separate from a bundle sourceis decrypted before reaching the bundle destination. The useof multiple security destinations is a practical considerationwhen traversing networks comprising different administra-tive domains.

Bundle security extensions are not the only example ofdata mandating subsets of the routing path. BP addresses

bundles based upon their ‘‘End Point Identifier’’ (EID).EIDs are unique within any BP overlay network. Themapping between EIDs and nodes in the network ismany-to-many. A node may be associated with severalEIDs, and one EID may be associated with multiple nodes.An EID used by multiple nodes approximates the func-tionality of a multi-cast address. The decision to engineermulti-cast EIDs into a particular space network is animportant engineering concern. Key managementamongst a group of nodes in a security domain presentsan example of a desirable multi-cast capability in a high-delay network. Consider the distribution of group-wisesymmetric keys encrypted by a larger group asymmetrickey. The destination for the encrypted symmetric keycould be an EID shared by all nodes in the group.

We define a multi-destination contact graph routingmechanism (MD-CGR) in a directed, weighted graphG¼(V, E, T, c), where

V:

The set of vertices (nodes) in the network. E: The contacts in the network representing the ability to

send data between nodes over time. The notation e(i,j)represents the edge between nodes i,jAV.

T:

A subset of the vertices in the network that must beincluded in an optimal path. This includes, at a mini-mum, the bundle source and destination.

c:

A cost function mapping E)R, associating a realnumber cost to traversing a particular contact in thenetwork. c(i,j) represents the cost of a particular edgebetween nodes i,jAV.

MD-CGR is the optimization problem of finding a

multi-destination route, R, with least cost and coveringall waypoints (TCR). A route is an ordered set of verticesand the cost of the route is the sum of the cost of theedges in the route. The decision problem is whether such

E. Birrane et al. / Acta Astronautica 75 (2012) 108–119 111

a route, R, exists with cost of k. Formally, the decisionproblem is defined as

MD-CGR¼{/G,kS: graph G¼(V,E,T,c) has a forwardingstrategy that will reach destination nodes V0 with totalcost k}.

3.2. NP-completeness

We claim that MD-CGR is NP-complete by construct-ing a polynomial-time reduction from the Graphic SteinerTree Problem (GSTP) [8], a known NP-complete problem.GSTP accepts a graph, G¼(V,E,T,c) with TCV and costfunction c: E)R on the edges of G where c(i,j) is the costof traversing the edge between vertices i and j with i,jAV.The optimizing algorithm produces a Steiner tree throughall vertices T with minimum cost. The cost of a Steinertree is the sum of the cost of its edges.

Given a graph G¼(V,E,V0,c), a traversal of edges con-necting V0 can be performed in O(EV) while accumulatingthe cost of traversing the edges to compare the total costof the route against k. Therefore, verification of thedecision problem can be accomplished in polynomial timeand thus belongs to NP. We demonstrate GSTPrp MD-CGR, thus showing that MD-CGR is NP-Hard and, com-bined with membership in NP, is NP-complete. Thereduction is trivial. Both GSTP and MD-CGR take the samegraph (Fig. 3a) as input. The optimal Steiner tree (Fig. 3b)produced by GSTP is the multi-destination route pro-duced by MD-CGR.

We prove this by contradiction. Let us suppose thatMD-CGR constructs a multi-terminal route through G

with total cost jok, containing at least every vertex in T

and with no edge weight o¼0. This implies that theroute must use either fewer edges, or less costly edgesthan those included in the Steiner tree through vertices T

in G. However, connecting all vertices of T with fewer orless costly edges implies that a more efficient Steiner Treeexists, which contradicts the optimal Steiner tree pro-duced by GSTP.

It should be noted that while this is a relatively simplereduction, it demonstrates the inherent nature of thecomplexity of the multiple-destination problem for CGR.Were we to further complicate the problem by attempting

Fig. 3. A least-cost Steiner Tree represents a least-cost multi-cast route.

to provide an optimal, ordered traversal of G through T thecomplexity would increase, although likely stay in theclass NP-complete.

3.3. Approximations

Like most practical instantiations of Steiner Tree pro-blems, several polynomial-time approximations exist,with the most efficient being an �1.5 approximation[9,14]. However, the existing MD-CGR formulation pro-duces optimal results when the following simplifyingassumptions are made: single destinations, no fragmenta-tion, and properly selected cost functions.

3.4. Single destinations

A single bundle efficiently forwarded to multipledestinations is trivially converted to multiple bundleseach with a single destination. The resulting networkutilization cost is significantly higher, but likely wellwithin margin for space networks in the foreseeablefuture.

Security, while an important part of any operationalinternetwork, may initially be implemented only at theendpoints of data transmission, where messages areencrypted at the bundle origin and decrypted at thebundle destination. In cases where security sources andsecurity destinations are necessary at intermediate nodes,a concatenation approach may be taken, where thebundle is simply routed to the given security destinationas if it was the bundle destination and then routed to thebundle destination afterwards, as shown in Fig. 4. Thisgreedy strategy is sub-optimal for security destinationsnot already on the optimal route but likely sufficient forsmall numbers of security destinations.

This figure presents two types of paths through anetwork: (1) trusted sections of the network for whichpaths must be computed, and (2) untrusted sections ofthe network for which paths must be computed. Trustednetwork sections impose no waypoints beyond the

Fig. 4. Single-destination routing constructs an end-to-end route as a

series of shorter routes.

Fig. 5. The CGR algorithm has three processing steps.

E. Birrane et al. / Acta Astronautica 75 (2012) 108–119112

message destination. Untrusted network segments musthave defined entrance and exit nodes that are the securitysource and destinations associated with some integrityand/or confidentiality ciphersuites.

Engineering space networks are likely to imposesecurity waypoints only at administrative boundaries,such as between assets controlled by different spaceagencies. These boundaries are anticipated to be few innumber and, therefore, not likely to overburden the net-work if sub-optimal routes are computed.

3.5. No fragmentation

Assuming that sufficient contacts exist to transmitbundles without fragmentation is a simplifying assump-tion. Currently, when a bundle must be fragmented, eachbundle fragment is individually routed by the routingalgorithm. It has yet to be shown whether this approachperturbs the optimality of message transmission givencontact capacity, especially when the fragmentation sizemay be driven by differing capacities from differingcontacts in the contact graph.

3.6. Cost functions

The cost of traversing a path is assumed to be con-sistent. All things being equal, if a particular path wasdeemed ‘‘not desirable’’ previously it should be deemed‘‘not desirable’’ for all future path evaluations for thesame bundle along the same route. This is especiallyimportant in cases where node loss causes a restart ofthe routing process at an intermediate node. Cost func-tions that present a consistent cost for bundle traversal(such as elapsed time) exhibit this property whereas costfunctions whose cost can change over time (distance fromdestination, % capacity utilized) can result in loops in thecalculated path.

As previously mentioned, there is no guarantee that anend-to-end path will ever exist for a random mobilenetwork. It is assumed safe to posit that an engineeredspace network will exhibit sufficient determinism andcoverage to provide paths. It is further assumed that acost function will take as input any bundle characteristicthat would preclude finding a reasonable path. For exam-ple, engineered networks are engineered with particularconcepts for operational data flow. Data flows that are notappropriate given the network design may or may not beaccommodated by the network. Bundles with exceedinglyshort expiration times, in this example, may not betransmitted through the network even if an end-to-endpath exists. Any cost function used in path computationshould understand this before the bundle is queued forany transmission so as to reduce the unnecessary use ofbandwidth for messages that cannot be delivered in time.

4. The CGR algorithm

4.1. Overview

CGR exploits prior information regarding the change ofthe network topology over time in accordance with the

assumptions put forward in the prior section. Thisapproach forms the basis for the encompassing MD-CGRrouting generalization. This section presents the CGRalgorithm itself, published as an experimental Internetdraft through the DTNRG [10]. CGR has been implemen-ted within the open-source ‘‘Interplanetary Overlay Net-work (ION)’’ source code distribution [11] available viaOpenChannel [12] and flight-tested using the DeepImpact Network Experiments (DINET) [13].

CGR accepts a series of node contacts and associateddistance ranges. From this input it constructs an overallcontact plan that identifies the perceived network topol-ogy. This topology is consolidated into a weighted, direc-ted contact graph over which message paths may beevaluated. CGR analyzes this contact graph and producesa set of next-hop nodes that would be part of anyplausible route through the network. When a message issent over the next hop, CGR is run again at the down-stream node. The processing performed by CGR is illu-strated in Fig. 5.

Inputs to the contact plan comprise information relat-ing to when data may be exchanged between nodes(contacts) and the distance between those nodes (ranges).Calculating data exchange opportunities is a non-trivialendeavor in resource-constrained RF systems. Pointing,error rates, transmission power, frequency matching, andadministrative policy must be considered while determin-ing when platforms may attempt to exchange data. Sincepropagation time eclipses contact duration, the timesassociated with contacts may be very different based ontransmission or reception.

Since precise contact calculation is network and plat-form specific, the CGR algorithm assumes that this infor-mation can be condensed into a single set of uniform

E. Birrane et al. / Acta Astronautica 75 (2012) 108–119 113

contact messages, thus abstracting the complexity awayfrom the routing application. Range information repre-sents a static range over a time interval. Similar to contactinformation, calculating an accelerating or deceleratingdistance vector between mobile nodes presents a chal-lenge to resource-constrained embedded processors.Since ranges are used to calculate propagation delays,large distance errors manifest simply as milliseconds ofdelay errors. Therefore, a series of discrete-stepped rangesare assumed appropriate for long duration contacts.Similarly, a single range input may be applicable tomultiple contacts in the same area. The concept of amany-to-many relationship between contacts and rangesis illustrated in Fig. 6.

Input to CGR comes through the contact plan. Meta-information such as message rates, network managementinformation, and security zones are not used to translatethe contact plan into the contact graph. Note that the CGRalgorithm does not compute an end-to-end path throughthe network. Rather, it constructs a set of forwardingnodes adjacent to the node holding the bundle thatrepresent candidate forwarding nodes. The reasoning forthis approach is that there is no traffic/congestion algo-rithm in a DTN and no way to synchronize on networkstate. Therefore path predictions beyond the first hopwould be baseless.

Fig. 7 illustrates a run of CGR on a sample network. Inthis figure, solid black lines represent feasible pathsthrough the network that support in-time bundle delivery.Dashed lines represent routes that would not support suchdelivery. Routing a message from nodes A to H, the run ofCGR at A produces the set of nodes {B, E} as valid nexthops. Assuming node E is selected for forwarding, CGR will

Fig. 6. Contacts and ranges are related but separate concepts in the CGR

algorithm.

Fig. 7. The CGR algorithm Produces a Set of One-Hop Neighbors.

be run again at E producing the set {D} and so on until H isreached.

4.2. Pseudo-code

Once the contact graph has been constructed, CGRdecomposes into two supporting functions, the ContactReview Procedure (CGR-CRP) and the Forward BundleProcedure (CGR-FBP). Table 1 identifies the variablesand initializations used by both algorithms.

Table 2 lists the pseudo-code for CGR-CRP, whileTable 3 lists the pseudo-code for CGR-FBP, both as pre-sented in Section 2.5 of [5]. In both cases our pseudo-codelisting identifies and separates sub-functions impliedby [5].

Several helper functions have been formulated fromthe default CGR listing. These functions are listed inTable 4.

4.3. CGR timing analysis

Given a network and routing model that satisfy theassumptions of CGR, an optimal route might be computedusing Dijkstra’s algorithm, which would make each itera-tion at each node theoretically executable in O(EþV log V)time. Since this algorithm is run at most V times, we havea complexity of O(VEþV2 log V). Such an approximation iscomputationally feasible for space networks, where thenumber of vertices in a network is lower than withterrestrial networks.

5. Path encoding

5.1. Overview

CGR reacts to changes in the state of the network byre-evaluating the best route for a bundle at every way-point. Downstream nodes may have more relevant infor-mation regarding the state of contacts (either due tocongestion or contact graph updates). If CGR took theentire pre-computed path and used it to route a bundlewithout change, then node loss, contact plan updates, andother system dynamics could prevent the timely deliveryof data. However, this flexibility also leads to sensitivitywhen selecting forwarding nodes. It is precisely thissensitivity that requires careful selection of cost functionsto prevent loops in the network.

We propose an extension to CGR that encodes acomputed path and the subset of the contact graph usedto calculate that path. At each downstream node, encodedassumptions must validate for the pre-determined path tobe honored. This acts as a damping function on CGR,requiring a large change in the state of the network towarrant recalculating a new path through the network.

The benefit of this approach is twofold. First, the complex-ity of node forwarding is reduced as CGR only runs whenencoded assumptions fail to validate. This reduces complex-ity because verifying assumptions is less computationallyintensive than generating a new set of proximal nodes.Second, by adjusting tolerances associated with validation,alternative cost function may be considered that optimize

Table 1CGR variable definitions and initializations.

Variable name Initial value Description

B The bundle being sent.

BDEST The bundle destination.

X The expiration time of the bundle.

D BDEST The current destination. D starts as the bundle destination and represents waypoints as the graph is traversed.

DTRANSMITS {} The contacts whose receiving node is D.

DPDT N The earliest time at which B can reach D.

DPND 0 Least hop count for which B can reach D from N.

ExclNodes {} Set of nodes that should not be considered for a particular bundle.

m A contact entry in the contact graph.

mSTARTTIME The start time of the contact.

mENDTIME The end time of the contact.

mTRANSMITNODE The node transmitting over the contact.

mTRANSMITRATE The transmit rate for the contact.

mRESCAPACITY The capacity remaining for the contact.

N The local node that will be forwarding the bundle.

ND 0 The number of hops anticipated when forwarding the bundle.

ProxNodes {} Nodes adjacent to the local node considerable for bundle forwarding.

PDT 0 The bundle earliest predicted delivery time.

T The latest time that B may be sent over m.

Table 2CGR-CRP constructs a set of one-hop forward nodes within the

ProxNodes set.

# CGR-CRP listing

CGR-CRP(D, X, B, ExclNodes)

1 Store(PDT, ND)

2 ExclNodes’ExclNodes [ {D}

3 FOREACH mADTRANSMITS4 T’Last_moment(m, B, X)

5 IF (current_timerT) AND(mSTARTTIMErT)

6 IF D¼¼BDEST THEN PDT’mENDTIME7 S’mTransmitNode8 IF S¼¼N

9 IF mRESCAPZECC(B, X)

10 IF DAProxNodes11 IF PDTrDPDT12 DPDT’PDT

13 DPND’MIN[DPND, ND]

14 ELSE15 ND’DPND16 PDT’DPDT17 ProxNodes’ProxNodes[{D}

18 ELSIF SeExclNodes19 PDT’MIN[PDT, mENDTIME]

20 L’mENDTIME - LATENCY(B, m)

21 SND’DPNDþ1

22 ND’NDþ1

23 CGR-CRP(S,MIN[T,L],B, ExclNodes)

24 ExclNodes’ExclNodes - {D}

25 Restore(PDT, ND)

Table 3The CGR-FBP procedure selects one of the proximate nodes based on

heuristics.

# CGR-CRP listing

CGR-FBP(B)1 CGR-CRP(BDEST, BEXPIRATIONTIME, B, ExclNodes)

2 IF ProxNodesa{}

3 IF BPRIORITY¼¼Critical

4 FOREACH NAProxNodes5 Transmit B to N

6 ELSE7 N’POP(SORT_NODES(ProxNodes))

8 Transmit B to N

9 ELSE10 No route error

E. Birrane et al. / Acta Astronautica 75 (2012) 108–119114

different network characteristics. CGR is trivially extended toproduce a full routing path, as the optimal path is alreadycalculated as part of the proximate node construction. Savingthis path as it is constructed does not change the complexityof the algorithm.

5.2. CGR extension block processing

The path encoding scheme is proposed as CGR withextension blocks (CGR-EB), whose extension blocks

optionally accompany bundles. In cases where path com-putation is not desired, extension blocks may be omittedand the bundle will be handled as usual.

The extension block contains a database of nodeinformation, dominated by the contacts that comprisethe pre-computed path. The information captured foreach node is listed in Table 5.

As the bundle traverses the network, CGR-EB mayshrink the size of the carried extension block so as to nolonger include already traversed nodes. At new inter-mediate nodes, the bundle performs path verification, asfollows:

1.

The next hop contact is checked against the contactplan for the current node. If the contact is deemeduntenable, the CGR Algorithm is executed to generatea new path. The CGR extension block is re-populatedwith the new path.

2.

If the contact seems tenable, then secondary contactcharacteristics such as transmission rate and capacityare verified within tolerance. Again, if contact differ-ences are too great the CGR algorithm is rerun and theextension block is replaced.

Table 4Helper functions used by CGR-CRP and CGR-FBP.

Function Description

LAST_MOMENT The last moment in a contact refers to the latest ‘‘wall-clock time’’ at which a message must be queued for transmission in order for

it to be carried upon a given link. This is a simple sanity check that measures whether the propagation delay between nodes is

sufficient to carry the bundle, regardless of the actual transmission rate of the contact, which is checked later.

ECC This is the estimated utilization of a link’s bandwidth. The CGR algorithm tracks this for links tangent to the local node but there is

no mechanism specified for propagating this information throughout the network. This makes sense in the base algorithm, which

only calculates the preferred forwarding node, and not an entire path.

The ‘‘estimated’’ portion of the capacity comes from the estimation of the final size of the transmitted message. While the message

payload size is known, the size of prepended headers and appended footers may vary based on the size and number of supporting,

underlying protocols used for transmission.

LATENCY This is nominally the size of the bundle divided by the transmission rate. However, the packaging overhead (a) should also be

factored as a percentage of the bundle size itself. A suggested default is to assume that packaging overhead is, itself, equal in size to

the bundle being packaged. Latency becomes the driving cost of a contact, with the cost computed as mSTARTTIMEþ((aþBundleSIZE)/

mTRANSMITRATE), using the variable definitions from Table 1.

SORT_NODES When selecting one of the possible proximate nodes, a metric should be used beyond simply ability to deliver the bundle. This

sorting may be an ideal place to insert additional weighting criteria, such as predicted congestion and routes based on service

categories and security needs.

Table 5The CGR extension block contains the contacts used in the encoded path.

Attribute Description

ND The network distance of the encoded path.

Contact[i]. startTime The time at which the ith contact in the route starts.

Contact[i]. endTime The time at which the ith contact in the route ends.

Contact[i]. resCap The estimated residual capacity of the ith contact.

Contact[i]. rate The estimated data rate of the ith contact.

Contact[i]. rxNode The EID of the node receiving bundles transmitted over the ith contact.

E. Birrane et al. / Acta Astronautica 75 (2012) 108–119 115

3.

Optionally, a 1-hop scan may be undertaken to see ifthere is a faster way of getting to the prescribed nexthop. If so, the bundle is sent using the faster contact.

4.

Steps 1–3 are repeated for a predefined look-ahead toassess not only the current contact, but several con-tacts into the future.

A contact is tenable if it exists in the local contactgraph and its local duration and transmission capabilitysupport bundle transmission within both the bundle’sexpiration time and the original projected delivery time ofthe contact. If the contact has changed such that thebundle can be delivered but only after the contact’soriginal projected delivery time, then there is no longera guarantee that the entire path can be traversed beforethe bundle expires. This is because path verificationoccurs from the current node (source) to the destination(or max look-ahead) whereas the original path construc-tion occurs from the bundle destination back to thebundle source.

5.3. Path evaluation heuristics

If the original path must change a decision must bemade as to when to detect and handle this condition. Weidentify two heuristics for when to handle this condition:(1) point of actual failure or (2) point of predicted failure.

5.4. Point of actual failure

This heuristic states that a previously computed routeshould be followed until an error is directly encountered.Encountering an error means that the current node isunable to forward the bundle to its next destination dueto some change in the contact graph. At this point, CGR-EBmust calculate a new path. The benefit of this heuristic isthat it does not try and predict network behavior:Potential problems are only mitigated when they directlyimpact bundle delivery. The drawback of this heuristic isthat a more efficient alternate route might have beencalculated if the problem had been detected earlier whenmore candidate nodes were available. For example, if thefailure occurs at the penultimate hop in the network andthere is no direct hop to the destination, the bundle mayneed to back-track to reach the destination, assuming apath exists to the destination at all. In such a case,avoiding transmission to the penultimate node wouldhave been wiser.

5.5. Point of predicted failure

This heuristic states that changes to the contact graphare synchronized across the network over time. At somepoint, a change to the contact graph that invalidates acontact at node Ni will be communicated to node Nj,where io j implies that Ni is closer to the destination nodethan Nj in a bundle’s routing path that passes through

E. Birrane et al. / Acta Astronautica 75 (2012) 108–119116

both Ni and Nj. Once the bundle reaches Nj, it knows thatit will eventually have a failure condition at node Ni andshould run the CGR-EB algorithm before reaching thefailure node.

The benefit of this heuristic is that it runs CGR-EBearlier in the bundle route when there are more optionsfor alternate paths. This is important when large-scalechanges to the contact graph are encountered, such as theloss of a node. The drawback of this heuristic is that itrelies on the synchronization to be trustworthy. In thecase of significant dynamic change in the network CGR-EBcould be run too early before Nj has a complete picture ofthe contact graph and, therefore, could make an ineffi-cient decision.

By delaying the route calculation in the point-of-fail-ure condition the CGR algorithm is run at the last momentincreasing the chance that contact changes have synchro-nized amongst the remaining nodes.

5.6. Timing analysis of CGR-EB

Finding the contact in the contact graph is estimated totake O(log C), with C being the number of contacts tosearch and 9C9r9E9. We assume contacts are sorted andthat the cost of finding the insertion point is O(log C) andthe actual insertion time is O(1). We further assume thatonly one contact is active between nodes in the network,which reflects that spacecraft typically do not supportmultiple RF paths between the same endpoints in a spacenetwork.

Verifying the characteristics of a contact involves afixed set of comparisons related to the finite set of metricsassociated with a contact, so contact verification occurs inO(1) time. However, there are a maximum of V�1 con-tacts that must be verified, with V being the number ofnodes in the network. Therefore, the time to validate areceived path by CGR-EB is O(V log C).

Assuming that a path needs to be calculated only onceto be valid, we can calculate the difference in asymptoticcomplexity between CGR and CGR-EB to determine thebest speed-up achievable by CGR-EB. As previously men-tioned, the CGR algorithm could take O(EþV log V) tocalculate a list of forwarding paths. The bundle will thenvisit at most V�2 additional paths. The first hop is alreadycalculated by the base path computation, and the destina-tion node has no additional CGR work. CGR-EB will addO(V log C) work (V�2) times for an upper-bound ofO(V2 log C) work. CGR will add O(EþV log V) work (V�2)times, for an upper bound of O(VEþV2 log V). When9E9r9V9, CGR-EB performs slightly less work than CGR.In cases where 9E9 dominates 9V9, CGR-EB does signifi-cantly less work.

In a DTN 9E9 dominates 9V9 because link opportunitiescome and go with greater frequency than nodes beingadded to the network. For example, a LEO spacecraftcommunicating with a single ground station supportinga dozen passes per day represents a 24 h graph where9V9¼2 and 9E9¼12. When planning contact opportunitiesfurther in the future 9E9 continues to grow as 9V9 stays thesame. Alternatively, a geosynchronous satellite will nothave link disruptions with ground stations. In such cases,

barring planned outages, there will be one contactbetween the two nodes with 9V9¼2 and 9E9¼1 regardlessof how far in the future we consider routes.

When space networks are defined with very littlerelative mobility such that links are not broken and re-established based on deterministic occultation and main-tenance cycles 9E9r9V9. However, the vast majority ofspace networks, and all cases of networking betweenplanetary bodies, involve links broken by celestial motionover time. In such cases, 9E9 will grow larger than 9V9quickly as edges are added to the graph over time.

5.7. Cost function analysis

Two cost functions are proposed for CGR-EB: linkutilization and delivery time. While delivery time pre-sents a monotonically increasing cost metric and, there-fore, makes CGR solvable using Dijkstra’s algorithm, thelink utilization problem is not. Work is ongoing to proto-type CGR-EB and will demonstrate the relative merits ofthese cost functions. The delivery time metric simplyprioritizes contacts that will see the bundle delivered inthe quickest possible time. It has been covered previouslyin this paper and will not be reiterated in this section.

5.8. Link utilization

Contact opportunities amongst spacecraft are not con-tinuous and do not provide sufficient bandwidth to off-load the constant generation of data for spacecraft.Typically, kilobytes of health and status telemetry aregenerated each second on a spacecraft, with individualinstruments adding megabytes to gigabytes of payloaddata during observations. However, spacecraft must usecustom-built, radiation-tolerant solid-state recorder (SSR)mechanisms to persist data until they can be telemeteredto other spacecraft or to earth. These SSRs are of limitedsize (typically gigabits) and therefore easy to fill after onlya few hours of operation. Payload operations are oftenconstrained by the connectivity built into the networkthat drives how quickly SSRs may reclaim space. Max-imizing link utilization within the network means thatopportunities for data transfer over viable contacts arenot wasted. Link utilization is a favorable cost function fortwo reasons: (1) sending data sooner frees local persistentstorage sooner and (2) minimizing unused bandwidth oncontacts increases the available bandwidth of futurecontacts to carry more data. Therefore, while a deliverytime cost metric optimizes delivery for a single bundle, alink utilization metric optimizes the throughput in thenetwork even if it means a particular subset of bundlestake longer to deliver.

In our simulations we assume that contacts are ofsimilar rate and capacity making the calculation of linkutilization simple: contacts expiring sooner are preferredover contact expiring at a later time. In more complexnetworks with heterogeneous contact rates the link uti-lization calculation would be more complex. Regardless,link utilization represents a compelling cost function thatdoes not produce monotonically increasing or decreasingvalues over time for a particular bundle.

E. Birrane et al. / Acta Astronautica 75 (2012) 108–119 117

Blindly following contacts that are about to expiredoes not necessarily result in a consistent path towards abundle destination. If CGR is used in this circumstance, aloop may be created, because the path is recomputed atevery waypoint. However, the CGR-EB approach of encod-ing a path allows the bundle to proceed with the origin-ally planned path and potentially avoid this looping.

Fig. 9. CGR-EB performs fewer calculations than CGR.

6. Simulation results

The network built for analysis is illustrated in Fig. 8,and comprises a fixed-point lander as Node 1, twoplanetary orbiters as Nodes 2 and 3, two fixed-point earthstations as Nodes 4 and 5 and a science operations center(SOC) as Node 6. In this section we use the notation N# torefer to these six nodes, with N1 referring to Node 1.Evaluation of these concepts has been performed througha custom, discrete-step simulation engine implementingboth the CGR baseline and CGR-EB. This simulationaccepts network descriptions consisting of an arbitrarynumber of nodes and active links between nodes as afunction of time. Each node is then configured with anode-specific CG representing that node’s view of theoverall network topology. CGs may have their contactstart and end times perturbed by a configured errorpercentage to simulate lack of synchronization of networkstate across the network. The simulation accepts anarbitrary number of messages to be generated and ran-domly assigns their injection time, size of their payload,and time-to-live. For all simulations the tolerance asso-ciated with extension block values was set at 10%.Messages flow from Node 1 to Node 6, simulating sciencereturn from the lander to the SOC. CGR and CGR-EBimplementations accept either the best-delivery time orbest-link-utilization cost function. Random number gen-erators are seeded to allow for the same data set to be runon different versions of the algorithms.

The metric used to assess performance is ‘‘networkprocessing load,’’ measured as the number of contactgraph invocations per message (cgipm). It is measuredby the number of times CGR must be run while processingmessages in the network.

The first set of simulations were run against CGR andCGR-EB with the best-delivery-time cost function andusing 0%, 25%, 50% and 75% error percentages for each

Fig. 8. Even simple data distribution networks benefit from path routing

over CGR.

node’s CG. In the 0% scenario, all CGs exactly match theactual link state and represents the nominal case wherethe network state has stabilized. The 25%, 50%, and 75%scenarios describe CGs at nodes whose contact start andend times may differ by up to the given error percentagefrom the actual link state of the network. The number ofCGRs run for these eight scenarios is shown in Fig. 9. Notethat the vertical axis of this figure represents a logarith-mic scale to better illustrate the data extremes. The plotshows values for the 10, 100, 1000, and 10000 messagesimulations.

From Fig. 9 we see that CGR in the 0%, 25%, and 50%cases shows a cgipm value of 3. This is as expected sinceany non-backtracking path between N1 and N6 in thesample network is three hops, and CGR is run at everynode. Beyond 75% error in the local CGs, CGR erroneouslybelieves either that no connectivity exists when it does, orthat connectivity does exist when it does not. At thispoint, the greedy forwarding strategy of CGR breaks downand we see an average cgipm value of 31.8. When there isno CG error, CGR-EB has a cgipm of 1.0207. The reason fora greater than 1.0 value is due to downstream congestioncausing planned contacts to be unusable because theirlinks have been saturated. The standard CGR algorithmavoids this situation by calculating a route at every hop,where one-hop residual capacity information is up-to-date. As the error rate associated with contacts increases,CGR-EB does need to re-run CGRs as expected withdiffering contact graphs at different nodes. However, inall cases CGR-EB results in significantly reduced networkload. In the worst case of 75% error in all contact graphs,CGR-EB had an average cgipm of 6.6, which is approxi-mately five times less than the observed baselineCGR cgipm.

A second set of simulations was run using the link-

utilization cost function. The link setup for this series ofsimulations was modified to support much more frequentcontacts between N1 and N2 in the network than betweenN2 and N4 in the network. Further, no contact graph errorwas run in these scenarios, though there is every expecta-tion that the reaction to contact graph error will followprevious results. Fig. 10 summarizes the performance ofCGR and CGR-EB for the link utilization metric. In thisfigure, CGR becomes trapped in a routing loop caused bythe greedy forwarding strategy oscillating between N1and N2 (always preferring links about to expire) withoutcarrying the historical list of visited nodes. The simulation

Fig. 10. CGR-EB permits the use of alternative cost functions.

E. Birrane et al. / Acta Astronautica 75 (2012) 108–119118

eventually evens out the contacts and lets messagesthrough, though there is no reason why messages wouldnot be lost in such cases if the system-wide loop persistedbeyond the time to live of the message. In this case, CGRpresents a cgipm of �115.3, however, this fluctuateswildly based on when messages are injected into thenetwork. CGR-EB, in contrast, calculates a single routethrough the network and does not deviate from it (even ifa more attractive link utilization is seen downstream)unless the encoded path becomes unfeasible. As with theprevious simulation, when running with 10,000 messageswe see congestion encountered at downstream nodescausing a re-plan of some routes. Still, the cgipm ofCGR-EB remains very close to 1.0, with an average valueof 1.00048.

7. Future work

There are four areas of future work derived from theanalysis performed in this paper: CGR-EB measurements,traffic congestion approaches, service-level agreementenforcement, and mobile agents.

7.1. CGR-EB measurements

CGR-EB is currently being implemented and evaluatedusing the ION software implementation of CGR as asoftware baseline. This extension block interface mustbe measured in a variety of network conditions, includingones that exhibit combinations of 9E9 and 9V9. Addition-ally, the link utilization cost function must be measuredagainst bundle delivery in both its ability to offload theSSR more quickly and to handle various types of pathchanges downstream in the network.

7.2. Traffic congestion

CGR operates by pre-computing knowledge of thenetwork. Change in the network caused by message trafficis not configurable and occurs continuously as data flows

through the network. A model to predict downstreamtraffic congestion to inform local route computations isrequired to augment the existing route computationfunction. Various mechanisms are proposed for investiga-tion, including using the BP custody transfer scheme as aback-pressure mechanism [5], evaluating traffic throughthe local node, and propagating ECC values throughoutthe local contact graph, and sending congestion messagesthrough the network.

7.3. Service-level agreements

Similar to traffic congestion, SLAs provide a finer grainresolution associated with contacts in the contact graphto consider service level. We propose a model by whichcontacts in the contact graph are identified additionallyby some communicating entity identifier, which can havea maximum bandwidth associated with it per contact.This may include a portion of the contact identified as‘‘overflow, usable by any’’. In this way, a single contactmay be broken into multiple contacts with various enti-ties only seeing a particular pre-defined residual capacity.This would provide an SLA mechanism without changingthe core CGR or CGR-EB algorithm. However, the com-plexity analysis may be altered since this approach wouldviolate the assumption that only one contact exists at anygiven time between nodes in the network.

7.4. Mobile agents

The MD-CGR algorithm presents a single bundlesource with multiple, terminal destinations. However, itis a small change to the problem to present a singlebundle source and a single bundle destination with anordered set of waypoints identified. MD-CGR would thenbe requested to pass the bundle through a set of pre-identified nodes in the most efficient way possible,emulating a mobile agent active within the DTN network.

8. Conclusion

CGR algorithms solve difficult routing/forwarding pro-blems encountered in space networks. We formulate ageneralized routing approach, MD-CGR, which handlesmultiple destination communications in these networks.MD-CGR is demonstrated as being NP-complete and,therefore, not scalable as these networks increase in sizeand complexity. Reasonable simplifying assumptions thatcan be engineered into foreseeable networks mitigatemuch of this complexity and enable the polynomial-timeimplementation of a CGR algorithm.

CGR as a method of best-neighbor forwarding is areactive, efficient mechanism for transmitting datathrough the network given appropriate cost functions.However, some desirable cost functions that maximizeuse of expiring contacts may lead to cycles in theforwarding path. A hybrid approach, CGR-EB, is proposedwhich encodes paths and path assumptions with themessage being routed in the network. CGR-EB providesa configurable threshold for recalculating paths, whichserves to desensitize CGR.

E. Birrane et al. / Acta Astronautica 75 (2012) 108–119 119

By using the original route unless downstream con-tacts have changed, CGR-EB shows resistance to routingloops and enables a greater variety of cost function. Usinga simple and monotonic cost function, simulation resultsshow that CGR-EB outperforms CGR by 300% when thenetwork operates without significant error. With theinjection of significant error, CGR-EB outperforms CGRby an order of magnitude with a cgipm of 1.02 versus31.8. When a non-monotonic cost function is used, CGR-EB outperforms CGR by two orders of magnitude with acgipm of 1 versus 115.3. By constructing, but validating,the source path, CGR-EB significantly reduces the compu-tational burden within the network and enables a widervariety of cost functions that seek to optimize network-wide utilization. The extension is compatible with exist-ing CGR implementations and there are no observedpathological cases in which CGR-EB performs worsethan CGR.

A variety of future work on both the contact graph datastructures and algorithms has been proposed. In additionto local back-pressure mechanisms activated by custodyrefusal within the BP, traffic congestion prediction basedon contact graph updates and dynamic measurement ofbundles through nodes are proposed for further study,with traffic prediction based on contact graph updatesalready prototyped within the ION software repository.The concept of multiple contacts for nodes that areidentified by quality of service or service level agreementidentifiers provides a natural mechanism for implement-ing bandwidth quotas. Finally, extension of the MD-CGRalgorithm to include single destination multiple-waypointrouting would enable data collecting mobile agentswithin these networks.

References

[1] Anders Lindgren, Avri Doria, Olov Schelen, Probabilistic routing inintermittently connected networks, ACM SIGMOBILE Mobile Com-puting and Communications Review, v.7 n., 3, July 2003, doi:10.1145/961268.961272.

[2] A. Balasubramanian, B. Levine, A. Venkataramani, DTN routing as aresource allocation problem, in ACM SIGCOMM, 2007.

[3] M. Demmer, K. Fall, DTLSR: delay tolerant routing for developingregions, in: Proceedings of the 2007 Workshop on NetworkedSystems For Developing Regions (Kyoto, Japan, August 27–27,2007). NSDR ’07. ACM, New York, NY, 1-6, 2007 doi¼/http://doi.acm.org/10.1145/1326571.1326579S.

[4] T. Spyropoulos, K. Psounis, C.S. Raghavendra,. Spray and wait: anefficient routing scheme for intermittently connected mobile net-works, in: Proceedings of the 2005 ACM SIGCOMM Workshop onDelay-Tolerant Networking (Philadelphia, Pennsylvania, USA,August 26–26, 2005). WDTN ’05. ACM, New York, NY, 252–259,2005, doi¼/http://doi.acm.org/10.1145/1080139.1080143S.

[5] S. Burleigh, Contact Graph Routing: draft-burleigh-dtnrg-cgr-01, July2010, /http://tools.ietf.org/html/draft-burleigh-dtnrg-cgr-01S.

[6] S. Burleigh, K. Scott, Bundle Protocol Specification, November 2007,/http://tools.ietf.org/html/rfc5050S.

[7] S. Symington, S. Farrell, H. Weiss, P. Lovell, Bundle Security ProtocolSpecification, July 2010, /http://tools.ietf.org/html/draft-irtf-dtnrg-bundle-security-16S.

[8] F.K. Hwang, D.S. Richards, Steiner tree problems. Networks, 22:55–89, 1992, doi:10.1002/net.3230220105.

[9] S. Hougardy, H.J. Promel. A 1.598 approximation algorithm for theSteiner problem in graphs, in: Proceedings of the Tenth AnnualACM-SIAM Symposium on Discrete Algorithms (Baltimore, Mary-land, United States, January 17–19, 1999). Symposium on DiscreteAlgorithms, Society for Industrial and Applied Mathematics,Philadelphia, PA, 1999, pp. 448–453.

[10] /http://www.dtnrg.org/wikiS.[11] S. Burleigh, Interplanetary Overlay Network: An Implementation of

the DTN Bundle Protocol, Consumer Communications and Net-working Conference, CCNC 2007. 4th IEEE, Las Vegas, NV, 222-226,2007, doi¼/http://dx.doi.org/10.1109/CCNC.2007.51S.

[12] /http://www.openchannelsoftware.com/projects/IONS.[13] Jay Wyatt, Scott Burleigh, Ross Jones, Leigh Torgerson, Steve

Wissler, Disruption Tolerant Networking Flight Validation Experi-ment on NASA’s EPOXI Mission, 1st International Conference onAdvances in Satellite and Space Communications, 2009.

[14] S. Arora, Polynomial time approximation schemes for Euclidean travel-ing salesman and other geometric problems. J. ACM 45, 5 (Sep. 1998),753-782, 1998, doi¼/http://doi.acm.org/10.1145/290179.290180S.

Edward Birrane holds a BS in ComputerScience from Loyola University, MD and anMS in Computer Science from the Johns Hop-kins University. Mr. Birrane has worked in thecommunications satellite and telecommunica-tions sectors. He is currently pursuing a Ph.D. atthe University of Maryland, Baltimore County,in the field of computer networking. His areasof study include disruption- tolerant networks,real-time operating systems, software re-useand maintenance, and on-board data proces-sing systems.

Scott Burleigh has been developing softwareat JPL since 1986. He was a co-author of thespecifications for the Consultative Commit-tee for Space Data Systems (CCSDS) FileDelivery Protocol (CFDP) and AsynchronousMessage Service (AMS), and as a member ofthe Delay-Tolerant Networking (DTN)Research Group of the Internet ResearchTask Force he co-authored the specificationsfor the DTN Bundle Protocol (RFC 5050) andthe DTN Licklider Transmission Protocol fordelay-tolerant ARQ (RFC 5326). He has

developed implementations of these proto-

cols that are designed for deep space mission systems, aiming to enabledeployment of a delay-tolerant Solar System Internet.

Niels Kasch is a doctoral candidate in Com-puter Science at the University of Maryland,Baltimore County (UMBC) under his advisor,Tim Oates. His current research centersaround employing machine learning techni-ques in natural language processing toextract structured knowledge from unstruc-tured large-scale corpora. He is involvedwith research in the Space Department atthe Johns Hopkins University Applied Phy-sics Laboratory, where he is focusing onrouting and communication methods in

interplanetary settings.