Internet of Things (IoT) has been recognised as a promising area for automating numerous processes, however, the major problem with IoT is its potential for rising complexities. Several approaches have moved attention to the edge nodes associated with IoT, hence concepts of edge-computing, resource allocation and load balancing are tantamount to a more robust heterogeneous IoT. The resource optimization terrain comes with several complications for the resource allocation and scheduling algorithms. Load balancing, one of the key strategies for improving system performance and resource utilization in distributed and parallel computing, generally views an effective load balancer as a 'traffic controller' of resources by directing tasks to available and capable resources. In this paper, a framework appropriate for modelling and reasoning about IoT resource optimization is developed. Further, implementation of an optimized resource allocation algorithm taking into consideration the users' quality of experience (QoE) and the quality of service (QoS) is made available. Simulation results authenticate analysis and validate the improved performance over existing work.