The human civilization advancements lead to complications in science and engineering. Dealing with heterogeneous, geographically distributed resources, grid computing acts as a technology to solve these complicated issues. In grid, scheduling is an important area which needs more focus. This paper proposes a hierarchical scheduling algorithm and the factors such as load balancing, fault tolerance and user satisfaction are considered. The proactive fault tolerant approach used here achieves better hit rate. The hierarchical scheduling methodology proposed here results in reduced communication overhead and the user deadline based scheduling results in better user satisfaction when compared to the algorithms which are proposed recent based on these factors.