In this paper we have proposed an algorithm for a wide variety of workload conditions including I/O intensive and memory intensive loads. However, in our task the CPU requirements of the system is minimum as the tasks which come are mostly video fetch tasks which require negligible system interaction but a lot of I/O consumption. The goal of the proposed algorithm is to balance the requests across the entire cluster of servers basing on its memory, CPU and I/O requirements so that the response time and the completion time for each job is minimum. Here preemptive migrations of tasks are not taken into consideration. A typical transaction in our model can be defined as the duration between the acceptance of task into the system and fulfillment of its requirements by the system. The requirements of the task are video files which the system has to load from a secondary storage device and stream the video continuously to the end user who initiated the request. We have compared our algorithm (IOCMLB) to two other allocation policies and trace driven simulation shows that our algorithm performed better than other two policies.