SpaceZilla (CFDP over DTN)
Project Sponsor: NASA JPL
Project Managers and Primary Project Contact:Jordan Leigh TorgersonNathan Luu
Description
This project, developed in collaboration with NASA JPL, aims to build a functional Graphical User Interface (GUI), named SpaceZilla, designed primarily to be integrated into operating systems capable of handling the CCSDS File Transfer Protocol (CFDP). This GUI will be able to handle all file transfer functions that are pre-existent within CFDP as well as the Interplanetary Overlay Network, in order to provide users with an FTP-style visual interface.
Objective
Develop a robust, user‑friendly graphical interface that enables engineers to operate the CCSDS File Delivery Protocol (CFDP) seamlessly over NASA’s Interplanetary Overlay Network (ION) within a Delay‑Tolerant Networking (DTN) environment. The project aims to abstract the complexity of DTN operations by providing an intuitive GUI, aptly named SpaceZilla, that supports reliable file transfers, real‑time transaction monitoring, and simplified node interaction through PyION. By delivering a stable, extensible tool, the team supports JPL’s broader objective of making CFDP operations more accessible for mission developers, testbed operators, and future space‑communication workflows.
Technical Implementation
SpaceZilla is implemented as a PySide6/Qt‑based GUI application that interfaces with NASA JPL’s Interplanetary Overlay Network (ION) through PyION, all running inside a containerized environment for reproducibility and controlled testing. The system is designed to operate across a multi‑node Delay‑Tolerant Networking (DTN) testbed composed of Dockerized ION instances on Ubuntu and a physical cluster of Raspberry Pis simulating DTN nodes.
The architecture is organized into three primary layers:
- GUI Layer (PySide6 + Qt Designer):The frontend is built using Qt Designer for layout and widget design, exported as
.uifiles and loaded dynamically at runtime. This layer provides an FTP‑style interface for initiating CFDP transactions, selecting remote nodes, configuring metadata, and monitoring file‑transfer progress. PySide6 handles event routing, widget logic, and real‑time UI updates. - Integration Layer (PyION):User actions in the GUI are translated into PyION calls that interact with ION’s CFDP services. This layer manages file‑transfer requests, transaction monitoring, node configuration, and error reporting. It abstracts ION’s command‑line tools, allowing users to operate CFDP entirely through the GUI.
- Backend Layer (ION over Docker + Raspberry Pi Testbed):ION runs inside Docker containers on Ubuntu for development, enabling isolated, reproducible multi‑node simulations. For hardware‑level testing, the system extends to a four‑node Raspberry Pi cluster capable of emulating real DTN links. This backend handles bundle routing, custody transfer, retransmission logic, and CFDP protocol execution.
Team Layout
| Front End | Osvaldo Valdiviezo, Lisa Liu, Joselyn Grajeda, Gray Gray, Austin Wong, Peter Sosa |
| Back End | Angel Gaytan, Andrew Rivera, Ervin Garcia, Christopher Gomez |
| Testing | Derek Castro, Jae Kim |
- Derek Castro
- Ervin Garcia - Varas
- Angel Gaytan
- Christopher Gomez
- Joselyn Grajeda
- Gray Gray
- Hyun Kim
- Lisa Liu
- Andrew Rivera
- Peter Sosa
- Osvaldo Valdiviezo
- Austin Wong