An arrangement provides optimal job scheduling in a distributed computing grid having a network of nodes. As jobs enter the system, their requirements are matched against the capabilities at each node to determine (step 202) candidate nodes. From this set of candidate nodes, a subset of valid nodes is selected (step 204) that has sufficient bandwidth for the duration of the job on each link that will need to be used by the job if run at that candidate node. For each valid node, a total cost is computed (step 206) to run the job. The cost may include such factors as bandwidth cost, server cost, storage cost, delay costs, and the like. Finally, a lowest cost node is selected (step 207), and the job is scheduled for execution (step 208) and then run (step 209) on that lowest cost node. An arrangement combining job scheduling with bandwidth on demand (BoD) involves a system for scheduling at least one job for execution on a network of nodes joined by links having respective link capacities, each job associated with a transport capacity requirement. The system has a job scheduler (element 150) configured to schedule the at least one job to be executed on at least one selected node, and a link manager (element 140) configured to reserve at least some of the link capacity of at least one of the links connected to the at least one selected node, to match the job transport capacity requirement.