## 1 Introduction  
In recent years, a huge number of smart devices and sensors were deployed in the different areas of networks (e.g., smart health care system, vehicle to everything (V2X) communications, autonomous driving, industries, and smart home) to sense the real-time situation of the corresponding deployed environment and to collect the raw data [1; 2]. Industrial Internet of Things (IIoT) (e.g., autonomous manufacturing systems, smart gas, grid, and oil systems) require a few millisecond latency between the smart sensors and the controller systems. Besides, augmented reality (AR), virtual reality (VR) applications, online gaming, body area network (BAN) [3] devices and a lot of other real-time application-oriented sensors may require a very low latency communication environment. Another alarming and important trend is the exponential increase of the IoT devices and the predicted data volume from those devices by 2020 will be 2.3 trillion gigabytes at each day by Mckinsey Global Institute. The data generated from the deployed smart devices and sensors are mostly unprocessed raw data to be processed before forwarding to the cloud network. Typically, the centralized cloud network is far away from end-user devices. Therefore, the consumed network bandwidth should be increased for uploading a huge amount of unprocessed raw data and the use of memory in the cloud is also increased a lot accordingly. Moreover, the long distance between the end-users and the physical existence of the cloud networks may not be reliable for real-time services (e.g., live streaming, video conferencing). To overcome these issues, edge computing (EC) [4] has been introduced as an appropriate solution. EC refers to the enabling technologies that allow computation to be performed at the edge of the network where \"edge\" indicates any path accompanying any computing and network resources between the cloud data centers and any data sources. For example, a smartphone is an edge device between smart home things and cloud; a small data center and a Cloudlet [5] is the edge between a cloud and a mobile device. EC pushes the end network devices to compute or preprocesses their produced data at the proximity of data sources. EC is also interchangeably used as Fog Computing (FC) [4], but EC emphasizes more towards the side of the thing, while FC emphasizes more on the infrastructure side. The importance of EC is to bring resources to the edge proximity devices such as storage, computation, and bandwidth. Therefore, these resources can facilitate the end-users to reduce the backbone data traffic and the response latency and to facilitate the data-driven IoT and IIoT applications. Besides the latest advancement of the IIoT network and the increased data traffic from IoT and IIoT networks, the frequency of content delivery among the devices is increasing in a very fast manner, and inter-device communications are becoming an important issue. The Internet Protocol (IP) addresses have been dominating the current Internet architecture where the communication starts by a specific and location-oriented content request message. Due to the rapid growth of the Internet, it faces several problems, e.g., packet loss, slower download speed, network congestion and so on. To overcome these limitations, ICN has been proposed as a new network paradigm that is based on the content name instead of the current location-oriented communication mechanism. ICN is already becoming a very popular concept as a new Internet architecture for its significant improvements in network scalability, performance, and content delivery service with a reduce cost [6]. The combination of EC and ICN provides several directions [7; 8] for solving the existing problems of the IoT network, data delivery and processing between the end-users and cloud including core and access networks.