VOEvents in GCN/TAN


  1. Introduction
  2. Servers
  3. Client
  4. FIltering
  5. Connection Protocol
  6. Notice Format
  7. Examples
  8. Archiving
  9. See Also
  10. The Future


GCN/TAN now distributes VOEvents directly (as of March 2012).
(For 4 years prior to Mar 2014 it has been producing VOEvents which were then on-forwarded
to Skyalert, eStar, and NOAO -- all now defunct.)

For the rest of this document, "client" and "site"/"subscriber"/"customer"
are effectively the same thing. The VOEvent server program is called votan:
"vo" for VOevents and "tan" for the Transient Astronomy Network.

All of the currently available Notice types within GCN
are also available from these voevent servers. (And when new Notice types
are added to GCN/TAN, they are automatically added to votan servers.)


There are 9 GCN/TAN servers (aka brokers).
The IP_nums of the servers are listed along with the port_nums
for both versions of the VOEvents and both the public and the LVC private-phase streams.
Each is listening on the port_num listed in the table:

    SERVERS                             PUBLIC         PRIVATE (LVC and AMON)
                                    ver1.1  ver2.0       ver1.1  ver2.0 (Atlantic_2)     8099                 8092    8096   (Atlantic_3)             8099   (Linode)         8099                         8096  (eApps)                  8099         8092    8096

During the initial proprietary phase, LVC will only allow LVC Notices to go to recipients
that have signed MoUs with the LSC.

Server Duplication/Redundancy:
All 9 GCN/TAN servers listed above (and any others that might be brought on-line in the future)
have identical streams of VOEvents (with the exception of the "Private Phase" servers
which additionally have the LVC and AMON streams). So connecting to any single server
will provide you with the 100% full content that GCN/TAN produces.

The 9 servers are spread across 4 computers in 3 different cloud computer companies
across the North American continent.

Connections by the same client_computer to mulitple servers is allowed.
Software upgrades to the servers will be done one server at a time -- the other 2 servers will always be running
so as to provide continuity. (Software upgrades will take a server off-line for about 90 sec.)
This provides redundncy when one server is taken off-line for upgrades.

And since all 9 servers use identical "sites.cfg" files, registered users
can switch from one server to another without any further effort needed on their part
or GCN's part, and of course, anonymous users can also switch servers.

Computers otside of Goddard Space Flight Center are used because the VOEvent protocol
calls for them to be the true server-end of the connection (and you the client-end).
And the client connections can be anonymous (ie the identity/IP_num) is not known.
Since all incoming connections from a client to a server inside GSFC would require
a firewall rule to allow this incoming connection, it is not possible to run true
client-server operations for anonomous connection. Hense the voevent servers
were moved outside of GSFC (to these cloud machines).


To facilitate quick and easy connection to this service,
a demo client program (voevent_client_demo) is available.
It can be downloaded from here.
This GCN/TAN client is a clean, simple, standalone client written in C.
It needs no additional libraries or other software packages installed
on your system. It has the basic parts to (a) establish and maintain
a connection to a server, (b) receive and acknowledge VOEvents, and
(c) tell you when there are problems.

They are all listening on port 8099. So to run this demo, the commandline is:

    voevent_client_demo  [ip_num]  [port_num]
    voevent_client_demo  8099

FILTERING: Even though votan is a server and you can connect anonymously[4],
if you register with GCN/TAN, you can receive all the regular
filtering capabilities of the original GCN system.
Votan is able to accomplish this by checking your IP Number (IPN)
when you connect. If your IPN matches an entry in the votan sites.cfg file,
then it uses that configuration to determine which Notice types
you want to receive plus all 16 filtering rules.
(See here. for a list of all the filtering functions available.)
If you register, you can have only one client running on the specified
machine (ie the IP Number), because votan uses only the IP Number
to identify you (ie no additional port_number like in original GCN).
Two clients on the same machine have the same IP Number.
Registration is simple -- a 'configuration' is built using the same
GC/TANN config_builder webpage (see below).
If you choose not to register with votan, there can be no filtering
so then your connection will receive all Notices of all the types
(currently ~2000 per day; this does not count the 1440 imalive
transport-protocol messages sent per day).


A connection between the client and a server is done using the so-called "vTCP" protocol.
It is the standand TCP protocol with a "v"OEvent adjustment involving:
(a) Imalive packet exchange,
(b) a 2-part writing/reading action, and
(c) the explicit ack/nacking-ing of the VOEvents received.
The imalives allow for both ends to monitor the vitality of the end-to-end connection,
and take corrective action if nothing has been received within 2or3
of the 60-sec intervals the imalives are sent. The 2-part writing/reading
starts with a 4-byte quantity sent first that indicates the length of the VOEvent
message that will be sent next (so the client reads 4 bytes, then knows
how much to read to get the message). The acking/nacking allows the server
to keep track that the client has correctly received the full VOEvent message.
The TCP/IP VOEvent protocol is described in here .
If you already have a client which implements this vTCP protocol,
you can use it to connect to the GCN/TAN VOEvent servers.
(The voevent_client_demo is just a bare-bones example to get people started
if they have no prior experience with VOEvents. You can also use
voevent_client_demo to connect to other VOEvent servers using the vTCP protocol.)


The messages are distributed in the IVOA VOEvent format, which is described here (Version2.0).


This link has a tar_file of real/as-distributed voevents for most of the publicly available notice types (as of 17may17, 10 voevents for each type).


There are two ways the VOEvents are archived:
Web Table pages:
The GCN/TAN VOEvent Notices are archived within the ......... GCN/TAN website in the Table of XXXXX.

SQL Database:


GCN has been distributing VOEvents using its own GCN-custom protocol
(also TCP/IP-based) since June 2009. Information can be found here.
And for the email-based VOEvent distribution go here.
These 2 distribution methods will continue (to support existing customers).


The following items/functions will be implemented in the future
(in semi-prioritized order):
b) Add capability for authors to publish to these servers.
c) Allowing anonymous connections to publish.
d) Having a database of past VOEvents that is queriable.

Return to GCN/TAN homepage.
This file was last modified on 17-Mar-17.