The interconnection of the different geographically dispersed cloud and fog infrastructures is a key issue for the development of the fog technology. Although most existing cloud providers and platforms offer some kind of connectivity services to allow the interconnection with external networks, these services exhibit many limitations and they are not suitable for fog computing environments. In this work we present a hybrid fog and cloud interconnection framework, which allows the automatic provision of cross-site virtual networks to interconnect geographically distributed cloud and fog infrastructures. This framework provides a scalable and multi-tenant solution, and a simple and generic interface for instantiating, configuring and deploying Layer 2 and Layer 3 overlay networks across heterogeneous fog and cloud platforms, with abstraction from the underlying cloud/fog technologies and network virtualization technologies.
Keywords: Heterogeneous Fog and Cloud Interconnection; Virtual Network Provisioning; Layer 2 and Layer 3 Overlay Networks; Scalability and Multi-Tenancy Support.Fog computing paradigm [1] is emerging as a key enabling technology for the Internet of Things (IoT), by broadening the scope of cloud platforms and services to the edge of the network, and allowing the efficient and agile deployment of mobile applications with strict geo-distribution, location awareness, and low latency requirements. Other similar paradigms to fog computing are ETSI Mobile Edge Computing [2] and Berkeley Cloudlets [3]. As shown in Figure 1, fog computing extends the cloud computing model by including an additional layer between the cloud and the mobile devices. In this three layer architecture (device-fog-cloud), a fog computing node is a small to medium size computing infrastructure that includes compute, storage and networking elements and is usually located at the premises of the end mobile users (e.g. shopping centers, airports, tourist attractions, etc.), and fog instances are physical or virtualized resources, deployed on top of the fog node infrastructure, that run the applications consumed by these end users, and can be accessed by mobile devices at one-hop distance over the wireless network. In addition, various fog nodes can also be connected to a central cloud, that could provide coordination between the different fog infrastructures, and some other additional services, such as extra computing capacity, large database management, off-line data processing for business intelligence, etc. This central cloud can be implemented as a commercial cloud provider (e.g. Amazon EC2, Microsoft Azure, Google Cloud, etc.) or as a public or private cloud managed by a cloud management platform [4] (e.g. OpenNebula, OpenStack, etc.) Some important features that must be considered in the design of a fog computing architecture are the following: a) multi-tenancy and isolation, since fog nodes must support the coexistence of several applications belonging to different tenants, and guarantee isolation among them; c) scalability ...