Linux Out of the Real World

The data produced by the payload is sent over a serial
connection to the Rack Interface Computer. It bounces around on the
orbiter for a little while, then is beamed to ground side via a
satellite in NASA's Tracking and Date Relay Satellite System
(TDRSS, everyone calls them Tetris satellites). The data goes
through some other NASA systems (including communications-relay
vessels in the Pacific Ocean) and, finally, makes it to MSFC. At
MSFC, it enters a machine named (in good NASA style) the “Virtual
Remote Users Gateway”, VRUG for short. The VRUG is connected via a
dedicated NASCOM line to our Remote Payload Operations Command
Center (Remote POCC) in Boulder. The data then goes into a pile of
ISDN-to-Ethernet routing hardware and into a network card in our
ground side support computer (another Linux machine, used for
development of the experiment's software and the analysis of
returned data). On its screen, the ground side support computer
displays squiggly lines (which the biologists like to look at) and
pictures of plants. Another channel going up to orbit from ground
side exists using the same hardware interfaces (RIC and
VRUG).

The data from the payload describes the conditions in the
orbiter. From Boulder, it is sent over the Net to the ground
control experiment in Florida. The ground control is similar to the
payload in orbit, but it has an Ethernet card instead of the third
serial port and a fragile (but cheap) and spacious magnetic hard
disk of the garden variety. The ground control produces data of the
same form as the orbiting experiment, but with (hopefully)
different content. This data is sent back over the Net to the
support machine in Boulder for analysis.

An unusual instance of a common problem affects
communications with the orbiter. Each TDRSS satellite can see a
small portion of the sky: when the limb of the Earth passes between
the orbiter and the satellite, line of sight is lost and no data
can be sent between them. Several TDRSS satellites are in orbit,
and large portions of the orbiter's possible locations are covered,
but not all. When no satellites are visible from the orbiter, no
communication is possible. This situation is called a Loss Of
Signal (LOS). NASA announces the LOSs with high accuracy and long
precognition, but they still cause headaches for experimenters.
(E-mail your politicians and ask for more Tetris
satellites.)

NASA does not guarantee the delivery or correctness of data
sent through their pipes. I once asked a member of their technical
staff how reliable the channel is, and he replied “Oh, I think
probably no more than one corrupt or dropped character in a
hundred.” Observations made during last year's experiment indicate
that the error rate is significantly lower than that
estimate.

Communications: NASA's Interfaces

When you rent volume on the orbiter for your experiment, you
can also rent bandwidth to ground side. You must specify the number
of bits per second to reserve for your payload, and you are
guaranteed no less. You then get a connection to the Rack Interface
Computer. The RIC presents a three-wire RS-232 connection: transmit
and receive only, no handshaking.

Data generated by the experiment must be encapsulated in
little packets in accordance with a specification from NASA. The
fields in the header and footer of these packets are used for
routing within the orbiter's communication equipment and include a
checksum. If the RIC accepts your packet, NASA will do their best
to deliver it to your machine at ground side, but no guarantees are
made. Data sent back to the payload from ground side is
encapsulated in the same packets and go over the same wires. All
packets traded between the payload and the RIC contain data that is
from or to the ground side support computer, wrapped in RIC
packets.

There is no change at the RIC interface, no automated
notification from NASA to the payload that a LOS is imminent or
occurring. The obvious way to do this notification would be to use
the regular RS-232 handshaking lines.

Our Remote POCC is in Boulder, Colorado. At this end of the
line, NASA presents a twisted pair Ethernet interface. You connect
using TCP/IP to two specified ports on two specified hosts on this
network. These computers are collectively called the Virtual Remote
Users Gateway (VRUG). The VRUG interface is more complex than the
RIC interface.

All communication with the VRUG (in both directions) is
encrypted. The computer people at MSFC asked us to identify our
operating system, and then supplied us with two object files,
containing compiled C-callable functions to encrypt and decrypt
data. The data sent over the TCP stream between our computer and
theirs is packetized, but using packets different from those used
by the RIC. These packets can contain data to and from the orbiter,
commands to configure the VRUG interface and “telemetry” data
from the orbiter (a standard data set provided by NASA at no extra
charge, describing ambient conditions within the orbiter).
Checksums are dutifully computed and checked on data going over the
TCP link.

Trending Topics

Upcoming Webinar

Getting Started with DevOps - Including New Data on IT Performance from Puppet Labs 2015 State of DevOps Report

August 27, 2015
12:00 PM CDT

DevOps represents a profound change from the way most IT departments have traditionally worked: from siloed teams and high-anxiety releases to everyone collaborating on uneventful and more frequent releases of higher-quality code. It doesn't matter how large or small an organization is, or even whether it's historically slow moving or risk averse — there are ways to adopt DevOps sanely, and get measurable results in just weeks.