## 1 Introduction  
Applications of the Internet of things (IoT) such as e-healthcare, e-vehicle, e-commerce, etc. have been growing progressively since the last decade [1]. Fog computing is an extension of cloud computing. Cloud services are available on the pay per use, but the distance of end-user from cloud increase the network latency, which degrades the service perception and increase energy usage [2, 3]. Fog computing (FC) is a promising paradigm that offers cloud services with lower end-to-end latency at the edge of the Internet [4, 5] as illustrated in Figure 1. In the FC network, the fog nodes are servers, which are placed at the edge of the Internet [6, 7]. In general, terms, fog nodes are the subset of public cloud, and fog nodes have limited capacity as compared to the public cloud [8, 9]. As a reason, computation offloading is a method used to transfer resources intensive computation tasks of an application to the external server for processing [10, 11]. Each IoT application is partitioned into local tasks and remote tasks so that the entire application executed efficiently [12]. Whereas, resource-constrained devices (i.e., storage, computation power, battery) only process lightweight tasks of an application, wherein, computation intensive tasks of an application are more likely to be offloaded to the FC for processing [13]. However, the applications above generate real time data; it is difficult to execute them on local devices with energy efficiency in FC [14]. Existing studies [15; 16] proposed their strategies to save device energy. However, the energy consumption of FC resource due to the process of large tasks has been ignored for many years. This poses the following research challenges to be addressed when the workload of IoT application to efficient assignment on the fog cloud network is under consideration. 1. How to develop the data flow and data process in a fog cloud paradigm for the workflow IoT application? Due to the fact that it is different from traditional data flow and data process mechanism, which have been adopted by many cloud architectures to process the real time data [17]. 2. How to make the assignment of local tasks on devices without degrading application performance and device energy must be under given threshold value? 3. How to make the assignment of remote tasks on the fog nodes efficiently with minimal consumption of the fog resources and without degrading the quality of experience (QoE) of the application? This paper is based on the energy efficient task assignment in devices and FC networks. Every IoT application is represented as a workflow application. FC is comprised of heterogeneous virtual machines (VMs); each VM is different in the context of speed and storage from each other. The objective of the paper is to efficiently perform the assignment of local and remote tasks on devices and FC-VMs so that the total energy can be minimized. The total energy, in general, is the combination of local devices and FC resources, energy consumption, which incurs due to the execution of the local tasks and remote tasks, respectively. Apart from existing studies in terms of data flow and data and the process when assignments of tasks are mapped on the FC networks, this paper has the following contributions in response to challenges as mentioned earlier. 1. This paper proposes new fog cloud architecture (FCA), which efficiently manages the data flow and data processing mechanism for all IoT applications without losing any generosity of the system. FCA exploited many profiling technologies to regularly monitor the entire system performance in term of resource utilization and energy management. The propose FCA architecture will be explained in the proposed description section. Figure 1: Fog computing: The general architecture [5]. A joint energy efficient task assignment (JEETA) method is proposed to cope up with the problem in the fog cloud environment.