Virtual
Constellation
Engine
A cloud framework to emulate line-of-sight, latency, and bandwidth of satellite applications in AWS virtual machines. Performance metrics (CPU, memory, disk, network) are collected from the constellation and recorded in a time series database to analyze performance bottlenecks.

Motivation

The goal of VCE is to assist in prototyping, development and evaluation of distributed applications running on satellite constellations, airborne systems, and ground stations.

Example applications include Earth imaging, marine biology, and ecology studies based on spectral reflectance instruments and infrared imagers and sounders.

These missions require autonomous coordination across multiple platforms to capture dynamic events, to combine measurements from different instruments, to transmit preliminary results with low latency, and to perform intelligent instrument utilization for increased lifespan.

Approach

Each base station or satellite in the constellation runs as a separate AWS virtual machine.

At startup, a VCE agent is installed to control network parameters such as link state (up/down), latency and bandwidth: a VCE server (running on a separate VM) provides these parameters to the VCE agents based on the simulated position of each satellite.

In addition, the user can schedule network faults or distruptions, to test the performance of the distributed application under failure.

Metrics such as CPU, memory, disk and network usage are collected from each virtual machine over time, and stored in a time series database for real-time or offline analysis.

News

  • Jun. 4, 2019: Version 0.1 of our cloud framework is released as open-source on GitHub.
  • Aug. 1, 2019: Our cloud framework is presented at IGARSS 2019 in Yokohama, Japan.


This work is part of the SpaceCubeX project supported by the AIST Program of NASA Earth Science Technology Office (ESTO) under grant 80NSSC17K0286.