What is HGL Hercules?
The Hercules is a system for automating the storage and retrieval of data to and from persistent media. The Hercules system consists of the following separate software components:
Hercules GUI – a visualisation and configuration tool allowing administrators to view current storage and retrieval progress, as well as configure the Hercules system to schedule and prioritise jobs.
Hercules Controller – a suite of programs designed to manage archive and retrieval requests, registering the details of data files into databases and scheduling jobs.
Hercules Server – a suite of programs to deal with physical activities such as moving tapes within a tape robot and reading and writing from removable media.
The Hercules Controller is the central ‘controlling’ point of the Hercules, therefore there is only one present within a Hercules system. The Hercules Server may have multiple instances depending on the configuration of the system. The Hercules GUI may also have multiple instances since many users may wish to see the system operation/configuration at the same time, however no GUI’s need to be present for the Hercules to operate.
Fundamental to the Hercules is the concept of a ‘Job’; a Job within the context of the Hercules can be defined as a series of files sharing common properties to be processed. For example, a series of raw data files acquired by the Hawk acquisition system for a single engine would be processed as a single job (a job most likely containing multiple files). Every Job has associated with it a priority, this represents the urgency for the job to be completed. The priority of a job may change from the creation of the job to the point it is processed, depending on a number of factors such as Priority Rules which may be configured from the GUI.