PurposeThe purpose of this study is to verify that if applications categories are segmented and resources are allocated based on their specific category, how effective scheduling can be done?.Design/methodology/approachThis paper proposes a scheduling framework for IoT application jobs, based upon the Quality of Service (QoS) parameters, which works at coarse grained level to select a fog environment and at fine grained level to select a fog node. Fog environment is chosen considering availability, physical distance, latency and throughput. At fine grained (node selection) level, a probability triad (C, M, G) is anticipated using Naïve Bayes algorithm which provides probability of newly submitted application job to fall in either of the categories Compute (C) intensive, Memory (M) intensive and GPU (G) intensive.FindingsExperiment results showed that the proposed framework performed better than traditional cloud and fog computing paradigms.Originality/valueThe proposed framework combines types of applications and computation capabilities of Fog computing environment, which is not carried out to the best of knowledge of authors.