This document outlines a utility-based scheduling approach for distributed computing resources. It discusses motivations for improving on existing scheduling techniques, including reducing queue wait times and increasing resource utilization. The design section describes using a partial utility function that considers job priorities, requirements and relaxation levels to make scheduling decisions. The implementation uses Condor middleware and a utility scheduler to dynamically monitor resources and match jobs. Evaluation results show improvements in resource utilization and ability to run more jobs in parallel with reduced completion times compared to default scheduling.