![]() |
![]() |
||||||||||
| You are here: IRIS > Software and Manuals > NetDC |
NetDC manual [ back ] [ forward ]3.0 REQUEST RECEPTION AND DELEGATION Requests will arrive at a data center through the email account netdc. When the email arrives to that address, a program reads the message and determines if it is indeed a NetDC request. If this is the case, then the message is processed and a copy of the request is kept in a text file. The request, if coming directly from the user, is assigned a "hub ID", which is a unique timestamp label just for that request. The hub ID is the identifier that will be used to track the progress of the request as it works its way through the NetDC system. This tag will take the form of:
where the DC_NAME represents the name of the hub data center and <MMM_DD,HH:MM:SS> represents the date and time in GMT (Greenwich Mean Time) of the request arrival. <PID> is the UNIX process ID of the code that initially runs when the request is received, and is for all intents and purposes a random number. The hub ID tag will never be modified once set. An example hub ID would read:
which would indicate that Northern California Earthquake Center at Berkeley received the original NetDC request at 2:00 a.m. on July 4th. The request is examined and critical identifying fields are noted so that a unique directory can be made for processing the request. In this directory, certain processing files will be generated:
If the request lacks needed information, the data center technicians or the requesting user will be notified so that the problem can be remedied. Otherwise, the data request lines are split into two groups: Those to be delegated to other data centers and those to be processed locally. As each data request line is read, NetDC will look at the network code requested to determine if the line is to be delegated to another data center. A routing table maintained on the local system contains network code references for all networked data centers and acts as a "directory listing" to determine where a given request line is to be sent. Using this information, the request line will either be processed locally or will be written to an outgoing file destined for a primary or secondary provider of that networks data.
Fig. 3.1 - Each data request line is routed to a request file destined for the appropriate data center. Destination is determined by matching the DATA_CENTER and NETWORK fields to entries in the routing table. The typical routing table looks like the example below. The fields are separated by the vertical bar (|) character. All network codes are listed with its data center name and contact information. In the example below, <cr> signifies where a carriage return would be in the text file:
The format of these entries can be described as follows: <NETWORK>|<DC_NAME>|<PRIORITY>|<EMAIL>|<DATA_CENTER_NAME>|<ADDRESS> When deciding where a given data request line should be routed, NetDC looks at the network code in the request line and compares it to the network codes in the route table (Current routing table can be downloaded here). If there is a match, then this line is selected, and added to a request destined for the site that will process that request line. If a specific data center was listed in the DC_NAME field then that center will be used as the destination for the request line. However, it gets more specific than that. You'll notice that there are sites listed as PRIMARY and there is one example of a line that is listed as SECONDARY. These entries indicate the priority that data center holds for providing that network's data. In the example above, GEOFON is the primary provider of GE data and will take precedence in processing requests for GE data over secondary sites, such as IRIS_DMC as shown above. There is always just one PRIMARY site. Should several sites be listed as providing data for a given network, the PRIMARY site is always selected, should it be listed. If the PRIMARY site for that network is not listed, then NetDC scans for the first SECONDARY site in the routing table and uses that site instead. There can potentially be several SECONDARY sites but there should never be more than one PRIMARY site. The separate request files that are delegated to other sites are created in the user's request directory and take the form of: netdc_out.<DC_NAME> such as: netdc_out.GEOSCOPE which would be a request file destined for the GEOSCOPE site. The exception is with request lines that are delegated locally. Their files take on generic names such as "inventory.request" and "data.request" and contain just the request lines without a header. These files are read directly by the local NetDC process after routing to other sites has completed. As these requests are sent out to the delegate sites, a checklist file is made, indicating which data centers have been delegated tasks along with the current status of request processing. The file will include email addresses from the routing table and look something like this
Those items marked as PENDING represent responses still being waited on. Items marked as COMPLETE have returned from processing and are ready to be merged with other data before shipment (assuming the requester asked to merge the data). If the user requested that the data not be merged, or certain conditions arise where merging is not possible, this field would be NOMERGE. As the course of request processing and data merging go forth, these values will be updated automatically by NetDC. NetDC manual [ back ] [ forward ]
introduction
overall concept request
format request reception and delegation |
About
IRIS
| Members | Programs
| USArray | Seismic
Monitor | Earthquakes | SeismoArchives |
|||
Send comments to the |