A depiction of the client-pull architecture of JobCenter and four possible types of client-initiated communication with the JobCenter server. (a) Software responsible for submitting jobs to the JobCenter server initiate a connection with the server, communicating authentication credentials and data describing the job. (b) Software interested in the data in the job queue database, such as a GUI for managing the database, communicate with the server sending requests for data. (c) Worker nodes (computers with the JobCenter client installed) periodically initiate a connection with the server requesting work. (d) Upon completion of the work, the client initiates a connection with the server to communicate the status of the job and any messages that resulted from execution.