Key Information

Register
Submit
The challenge is finished.

Challenge Overview

Overall Requirements

The objective of the NASA DTN Project is to develop an overall set of data communications protocols and associated deployment infrastructure to enable space agencies to incrementally build up a Solar System Internetwork (SSI). The DTN protocol suite can run over the existing Internet Protocol (IP) suite or it can operate by itself as a full Internetworking protocol. DTN provides assured delivery of data using an automatic store-and-forward mechanism, while IP generally does not.

NASA needs to integrate the ION Disruption Tolerant Networking (DTN) implementation of Bundle Protocol (BP) with Microsoft Outlook and Microsoft Exchange Server to support the transfer of astronaut email to/from the International Space Station (ISS).

Microsoft Exchange Server currently supports RPC over HTTP(s) protocol (a.k.a. Outlook Anywhere -  http://msdn.microsoft.com/en-us/library/cc243950.aspx). TopCoder will architect and assemble a pair of gateways that will be responsible for bundling the RPC over HTTP payload and send them using ION-DTN Bundle Protocol. We should use Delay  Tolerant  Payload  Conditioning  (DTPC)  Protocol over BP to send data.

DTPC enables  the  following  end to end  services:

  • Application  data  unit  aggregation
  • Retransmission based  reliability
  • In order  delivery  of  application  data  units
  • Duplicate  suppression

One gateway is located on the ISS and the other is located on earth. The space gateway will be developed as an apache module and the ground gateway as a daemon process. Both run on Linux. The picture below presents the technology stack:

The communication between layers is depicted below:

The scope of this assembly does not involve the RPCH protocol. This assembly will focus on a client/server implementation using DTPC. The picture below illustrates that the DTN modules can be used as C callbacks.



Final Submission Guidelines

Competition Task Overview

A complete list of deliverables can be found in the TopCoder Assembly competition Tutorial at:

http://apps.topcoder.com/wiki/display/tc/Assembly+Competition+Tutorials

Note: Please read the whole Application Design Specification first. All the details not mentioned in this specification are provided in that document.

Scope

This assembly is responsible for implementing all new code shown on "msrpc_ion_dtn" package. Implementation details are provided at TCUML documentations.

To develop and test this assembly, you will need to:

  • Implement a command line application that will use the provided callbacks. You should use TCP convergence layer.
  • The sender and receiver can send hardcoded buffer data.
  • The assembly is complete if one is able to send a payload and receive the response.
  • You may request VMs with DTPC installed by email to romanoTC: romanotc@copilots.topcoder.com.

Deliverables

  • Source code and configuration files.
  • Deployment guide to configure and verify the application.

Technology overview

ELIGIBLE EVENTS:

2014 TopCoder(R) Open

REVIEW STYLE:

Final Review:

Community Review Board

Approval:

User Sign-Off

SHARE:

ID: 30041735