A job scheduling device providing a consistent set of application
programming interfaces (APIs) compiled and linked into an individual or
suite of programs to provide scheduling services on a single computer or
across multiple computing platforms, includes a GUI API for retrieving
and validated job parameters, a job scheduling API for allocating jobs
based on the job parameters, and an enterprise scheduling agent hosted on
one or more nodes of the computer platforms. An enterprise communication
agent sends messages containing jobs from a computer executing a program
utilizing the job scheduling device to the enterprise scheduling agent on
a selected node where the job is to execute. Then, the enterprise
scheduling agent retrieves job parameters and launches the job on the
selected node. The enterprise scheduling agent maintains a local job
repository containing job information for each job run on its
corresponding node and sends messages to a job data management API to
maintain a central job repository containing information on jobs executed
on all nodes.