An NNTP Protocol-Based Local Data Manager
Senior Project: 2002-2003
The University Corporation for Atmospheric Research (UCAR) is a nonprofit
corporation formed by research institutions with doctoral programs in the
atmospheric and related sciences. Its base is the National Center for
Atmospheric Research (NCAR), located in Boulder, Colorado. UCAR was formed to
support research and education in atmospheric science at a level that is beyond
the resources of individual universities.
UCAR supplies real-time weather data to colleges and universities for use in
the classroom, trains weather forecasters in the latest research results and
technologies, and helps organize international experiments in remote areas of
the world, among other services. NCAR maintains resources such as
state-of-the-art computer models of weather and climate, radars, and aircraft
that are used by scientists around the world. UCAR's Unidata Program provides
visualization software to researchers and educators at little or no cost.
This project focused on redesigning and reimplementing local data management
software, which used non-proprietary protocols to communicate on a
peer-to-peer network. The software acquires data and shares it with other
networked computers. A data product is treated as an opaque unit; thus nearly
any data can be relayed. In particular, the current system can handle data from
National Weather Service data streams, including gridded data from the
numerical forecast models. It also handles NEXRAD radar data, lightning data
from the National Lightning Detection Network, and GOES satellite imagery.
The new client uses the same idea of peer-to-peer networking, but is based on
the well-known and widely used Network News Transfer Protocol (NNTP), the same
protocol that people use to read newsgroups. Like a news reader, this client
will not relay data products, but will only receive them. However, this client
is not a news reader, but a peer server. These data products will be pushed onto
the client by one of its peers. One of the client's primary duties will be to
differentiate between different types of data streams and handle them
accordingly, without ceasing to receive new data. The system was developed in
Java.



|