In this paper, a task scheduling algorithm in process engine is proposed to not only maximize overall customer satisfaction but also guarantee QoS requirement. This new algorithm dynamically assigns priority to a task based on the weighted utility value considering the predicted business value and left time to execute the process instance the task belongs to. The business value of each kind of process instance is modeled as a utility function of response time which reflects the inverse proportional relationship between the customer satisfaction and response time. Experiments show that the proposed algorithm promotes the total value of utility function with better QoS achievement compared to traditional algorithms. © 2010 IEEE.