Register
Submit a solution
The challenge is finished.

Challenge Overview

1.0. Project Overview

Welcome to the NASA Disruption Tolerant Networking (DTN) project. DTN is an approach to computer network architecture that seeks to address the technical issues in heterogeneous networks that may lack continuous network connectivity.

Note that some literature may use the term Delay Tolerant Network which is also abbreviated as DTN - the two terms are used interchangeably.

DTN is designed to provide reliable end-to-end delivery of information between nodes, and to do so in an environment that experiences frequent connectivity disruptions and topology changes. Such a capability will directly support human and robotic space exploration, as well as have wide applicability to land-mobile and airborne terrestrial communications.

Learn more about DTN

 

Project Objectives

The goal of this project is very simple – and that is to update DTN ION so that it includes IP Neighbor Discovery (IPND).  

IPND is a method for otherwise oblivious nodes to learn of the existence, availability, and addresses of other DTN participants. IPND both sends and listens for small IP UDP announcement beacons that are addressed to an IP unicast, multicast, or broadcast address to discover specified remote neighbors, or unspecified local neighbors in the network topology.

Other DTN implementations, such as DTN2 and IBR, already support IPND. We now need to updated DTN ION to enable neighbor discovery capabilities as well. Neighbor discovery is also needed to enable future dynamic routing capability for the ION DTN implementation.

- See more at: http://www.topcoder.com/dtn/neighbor-discovery/#sthash.Mdb2QG1w.dpuf

2.0. Project Objectives

The goal of this project is fairly straightforward, to update an open source DTN implementation called DTN Interplanetary Overlay Network (DTN ION) so that it includes IP Neighbor Discovery (IPND) functionality. 

IPND is a method for otherwise oblivious nodes to learn of the existence, availability, and addresses of other DTN participants. IPND both sends and listens for small IP UDP announcement beacons that are addressed to an IP unicast, multicast, or broadcast address to discover specified remote neighbors, or unspecified local neighbors in the network topology.

Other DTN implementations, such as DTN2 and IBR, already support IPND. This project will design and implement updates to the DTN ION code written in C to add neighbor discovery capabilities.

Neighbor discovery is also needed to enable future dynamic routing capability for the ION DTN implementation.

 

Project Objectives

The goal of this project is very simple – and that is to update DTN ION so that it includes IP Neighbor Discovery (IPND).  

IPND is a method for otherwise oblivious nodes to learn of the existence, availability, and addresses of other DTN participants. IPND both sends and listens for small IP UDP announcement beacons that are addressed to an IP unicast, multicast, or broadcast address to discover specified remote neighbors, or unspecified local neighbors in the network topology.

Other DTN implementations, such as DTN2 and IBR, already support IPND. We now need to updated DTN ION to enable neighbor discovery capabilities as well. Neighbor discovery is also needed to enable future dynamic routing capability for the ION DTN implementation.

- See more at: http://www.topcoder.com/dtn/neighbor-discovery/#sthash.Mdb2QG1w.dpuf

3.0. Challenge Overview

The DTN IP Neighbor Discovery (IPND) specification document was published as an Internet Draft by the IETF. Internet Drafts like most RFCs, are written in ASCII format -- this includes diagrams. Also, the document is written using a "memorandum" writing style so we need the community to make the spec much more succinct by outlining all requirements needed for ION, or indeed any DTN implementation, to conform to the IPND spec. We will use TopCoder's Application Requirements Specification (ARS) format which many competitors are familiar with.

3.1. Competition Task

Based on the PDF version of the spec, which is also ASCII formatted, the actual spec is only 19 pages long (spanning from page 3 - page 21).

For this challenge, you will review those pages and do the following:

  1. identify and document all the use cases that are needed to implement IPND;
  2. group narratives that are logically related (from different sections) under a use case;
  3. translate the narratives into concrete requirements;
  4. ensure each concrete requirement is specified in a way that makes it testable;
  5. create an activity diagram for each non-trivial requirement;
  6. include all illustrations drawn using ASCII art in the ARS. The ASCII art are mostly tabular -- they could be approximated with color-coded tables, for instance.

Subsequent challenges will use the output of this challenge to specify an architecture as well as a test plan. The test plan will be used to check that ION's implementation conforms to the IPND spec.

 

3.2. Submission Deliverables

Please submit, in a compressed archive:

  • A completed ARS in an MS Word compatible format;
  • The original source files of all diagrams included in your submission. Diagrams should be authored using the TopCoder UML tool.

Please download the template on which to base your ARS on from here.

 

3.3. Review Style

This challenge will not affect your rating but review will still be performed by members from the community.



Final Submission Guidelines

1. Third Party Code/Libraries - All third party code/libraries must be open source and you must include the license in your submission. The license must allow us to modify/re-package the code as necessary. If you have any questions regarding this, please post in the forums. Submissions that include third party code without the proper license information will be disqualified if the third party code is found to be non-usable due to license restrictions.

2. Attribution/References - You must properly attribute and or reference any sentences, paragraphs or quotes that you cite in your text-based submission. If your submission is found to include text that has been copied and pasted from an online source without properly attributing the source, you will receive a not-so-nice email from the topcoder competition manager.

3. Spell Check - We understand that not all submitters will be native English speakers and that there will be spelling/grammatical mistakes. We request that you first run your submission through a grammar/spell checker before submission so as to fix simple mistakes.

Review style

Final Review

Community Review Board

Approval

User Sign-Off

ID: 30048841