Tool

Hypatia - LEO Satellite Network Simulator

Simon Kassing, Debopam Bhattacherjee (ETH Zurich)
Source: GitHub
14 views

Hypatia is an open-source, comprehensive simulation framework specifically designed for analyzing and modeling Low Earth Orbit (LEO) satellite networks. Its primary purpose is to enable researchers and engineers to understand the complex, dynamic behavior of LEO constellations by pre-calculating network state over time, facilitating detailed packet-level simulations, and providing insightful visualizations. The framework was introduced and utilized in the academic paper "Exploring the “Internet from space” with Hypatia," published in the Internet Measurement Conference (IMC) 2020, serving as a robust tool for reproducible research in the field of satellite networking.

Core Components and Capabilities

Hypatia is built around four distinct yet interconnected modules, each addressing a critical aspect of LEO satellite network simulation:

    • satgenpy: This Python-based framework is responsible for generating the LEO satellite network topology and calculating routing paths over a specified period. It handles the intricate orbital mechanics and inter-satellite link formations, providing a dynamic network graph that evolves with time. Beyond generation, satgenpy includes various analysis tools to study specific network characteristics and individual case scenarios. It leverages a suite of scientific Python libraries, including numpy for numerical operations, astropy and ephem for astronomical calculations, networkx for graph theory, sgp4 for satellite propagation, geopy for geocoding, matplotlib for plotting, statsmodels for statistical modeling, cartopy for geospatial data visualization, and exputil for experiment utilities. satgenpy is released under the MIT License.
    • ns3-sat-sim: This module extends the popular ns-3 network simulator to perform packet-level simulations on LEO satellite networks. It consumes the network state data, including satellite locations and routing tables, generated by satgenpy. The simulation environment integrates the satellite ns-3 module by Pedro Silva for precise satellite location tracking and the basic-sim ns-3 module to simplify the setup of end-to-end TCP flows and other network traffic scenarios. The module relies on Python for scripting and analysis (e.g., numpy, statsmodels, exputil) and utilizes external packages like OpenMPI for parallel processing, lcov for code coverage, and gnuplot for data visualization. ns3-sat-sim is licensed under GNU GPL version 2.
    • satviz: Dedicated to visualization, satviz provides a Cesium-based pipeline for generating interactive 3D visualizations of the simulated satellite networks. By generating CesiumJS code, it allows users to explore the dynamic LEO environment, observe satellite movements, link formations, and data paths over time. Access to the Cesium online API requires a user-obtained Cesium access token. This visualization capability is crucial for gaining an intuitive understanding of complex spatio-temporal dynamics inherent in LEO constellations. satviz is also released under the MIT License.
    • paper: This component comprises the experimental and plotting code specifically used to reproduce the findings and figures presented in the original IMC 2020 paper. It serves as a practical example and tutorial for Hypatia's capabilities, demonstrating how to set up, run, and analyze simulations. It utilizes modules such as satgenpy, numpy, networkload, and exputil, with gnuplot handling most of the plotting tasks. This module is licensed under the MIT License.

Workflow and Technical Foundation

The Hypatia framework operates on a sequential workflow, where satgenpy first establishes the foundational network dynamics, including satellite orbits, inter-satellite links, and routing paths. This pre-calculated state is then fed into ns3-sat-sim, enabling high-fidelity packet-level simulations that accurately reflect the evolving network topology. Finally, satviz takes the simulation outputs to generate interactive visual representations, offering deep insights into network performance, latency variations, and link utilization patterns.

Technically, Hypatia is designed to run on a Linux operating system (e.g., Ubuntu 18+) with Python version 3.7 or higher. Its modular design and reliance on established scientific and networking libraries like ns-3, numpy, and Cesium ensure both robustness and extensibility. The project emphasizes reproducibility, providing clear instructions for system setup, dependency installation, module building, and test execution.

Target Audience and Applications

Hypatia is an invaluable resource for a diverse audience within the satellite and connectivity industry:

    • Researchers and Academics: Ideal for studying the performance characteristics of LEO constellations, evaluating novel routing algorithms, assessing network resilience, and exploring the implications of different constellation designs.
    • Network Architects and Engineers: Provides a tool to model and analyze the behavior of proposed LEO network architectures before physical deployment, aiding in design optimization and capacity planning.
    • Students: An excellent platform for learning about LEO satellite communication principles, network simulation, and data visualization techniques in a practical, hands-on environment.

By offering a complete pipeline from network generation to packet-level simulation and interactive visualization, Hypatia facilitates a deeper understanding of the "Internet from space" concept and the operational challenges and opportunities presented by LEO satellite technology.

Related Resources