Efficient task and resource allocation techniques are critical to managing the relationships between the components of cloud, fog, and mist-assisted Internet of Things networks. Fulfilling this function necessarily implicates concerns between two affected groups, users, who prioritize cost-effectiveness and latency, and service providers, who prioritize efficient and cost-effective resource management. While there is no single solution that is capable of simultaneously wholly optimizing the experiences of both groups, solutions that ensure mutual satisfaction can be achieved. To accomplish this, we developed an algorithm that first derives two objective functions, user and service provider satisfaction, from data concerning service provisioning, user preferences, and resources utilization. The algorithm then combines these functions into a mutual objective function that maximizes satisfaction of both individuals. Next, available computing nodes are ordered in a list, prioritizing by compromising factors, and the most appropriate node(s) for task completion are selected. The proposed algorithm was tested extensively through simulations and compared with existing techniques. Ultimately, the proposed algorithm outperformed alternatives across every metric, illustrating its utility as a means of achieving mutual satisfaction and improving quality of service.