Emergency Software Stack

Summary

Mentor(s): Prof. Megan Hickman Fulp
Dr. Mike Murphy
Project Type: Research; policy development; evaluation
Technologies: Variable
Undergraduate Credit: CSCI 399
Graduate Credit: IST 659, IST 799 (Thesis)
Locality: Main campus and/or remote

Purpose

If electromagnetic pulse weapons are deployed, or if a strong solar storm like the Carrington Event of 1859 should occur, the impacts could be devastating. The power grid could be down for a significant period of time, and all our normal forms of communications could be broken. Internet outages could extend to weeks or months, depending on how much infrastructure has to be rebuilt.

The associated Field and Emergency Computing System project aims to create a system that can be used offline for an indefinite period of time, running primarily on solar power. While we have an initial idea of some of the software and resources this system will need (such as a desktop environment and a few obvious components), it is still an open question as to exactly what pieces of software to include. In addition, there may be other kinds of information to store locally on the system for reference during and after the event.

It turns out that the software stack and local information questions are not as straightforward as they initially seem. For example, when designing a resilient system to use in an emergency, we need to know what role(s) the user(s) of the system will have in responding to the situation at hand. For example:

There are plenty of other use cases (power plants, water treatment, waste treatment, etc.) to consider. An overall research direction will be to identify common needs across these use cases and try to identify processes that can be used to tailor the software stack and locally available resources to the needs of the individual user(s).

Scope of Work

Review existing literature, evaluate existing systems, and develop a framework that can be used to specify and customize a software stack. Design procedures for acquiring offline data and making them available on the emergency system. Identify a process for keeping both the software stack and the reference material up to date.

There are a number of possible directions this work could take. On one hand, policy and procedure development for resilient backups can be developed. At a more technical level, we could develop specific tools to assist end users in creating resilient backup systems for their particular use cases. This work is broad and cross-cutting, utilizing techniques from software engineering, project management, and systems design to create tailored solutions.