longnehc / hypatia

Other
6 stars 2 forks source link

Hypatia

Build Status

Hypatia is a low earth orbit (LEO) satellite network simulation framework. It pre-calculates network state over time, enables packet-level simulations using ns-3 and provides visualizations to aid understanding.

Kuiper side-view Telesat top-view starlink_paris_luanda_short

It consists of four main components:

(there is a fifth folder called integration_tests which is used for integration testing purposes)

This is the code repository introduced and used in "Exploring the “Internet from space” with Hypatia" by Simon Kassing, Debopam Bhattacherjee, André Baptista Águas, Jens Eirik Saethre and Ankit Singla (*equal contribution), which is published in the Internet Measurement Conference (IMC) 2020.

BibTeX citation:

@inproceedings {hypatia,
    author = {Kassing, Simon and Bhattacherjee, Debopam and Águas, André Baptista and Saethre, Jens Eirik and Singla, Ankit},
    title = {{Exploring the “Internet from space” with Hypatia}},
    booktitle = {{ACM IMC}},
    year = {2020}
}

Getting started

  1. System setup:

    • Python version 3.7+
    • Recent Linux operating system (e.g., Ubuntu 18+)
  2. Install dependencies:

    bash hypatia_install_dependencies.sh
  3. Build all four modules (as far as possible):

    bash hypatia_build.sh
  4. Run tests:

    bash hypatia_run_tests.sh
  5. The reproduction of the paper is essentially the tutorial for Hypatia. Please navigate to paper/README.md.

Visualizations

Most of the visualizations in the paper are available here. All of the visualizations can be regenerated using scripts available in satviz as discussed above.

Below are some examples of visualizations: