The recent evolution and the changing requirements in technology triggered the development and widespread use of cloud computing over the last few years for efficiently storing and managing data (Subhadeep Sarkar, 2015). Cloud Computing is actually a model of computing that provides on demand pool of sharable resources to whoever request for them on the bases of “pay as you use”. Nonetheless making use of cloud computing in an Internet of Things environment or in an Internet of Things application for managing and storing data is not always the right choice to make (Erik Elmroth, 2017), with each passing day there is an increase in the number of devices that join the internet owing to the booming development of Internet of Things, for cloud data centers to manage all this information and quickly process it is getting difficult day by day.
Due to its popularity and unique architecture that allows every “thing” to join a network and be a part of internet, Internet of Things is producing a bizarre amount and range of data. It is estimated by the Cisco IBSG that by the year 2020 there will be around 50 million devices connected in IoT (Evans, 2011). The current problem that is faced by the Internet of things is the variety of abnormal volume of data that is produced at large scale in the various environments of internet of things, which day by day is getting difficult to be managed by the cloud and other traditional systems.
Traditionally Cloud computing have been used in Internet of Things for managing and storing information, where in the information produced by the Internet of Things devices is saved in the cloud data centers, but cloud has certain challenges associated to it. The processing of data in cloud takes time since cloud is centralized and is not convenient for environments where quick processing is required (Cisco, 2015).
A different sort of infrastructure is required to overcome this problem and manage the data effortlessly that is being generated, the cloud models that are ready for use in the market are not efficient enough to handle the huge volume and variety of data that is generated by the internet of things. Every day billions of devices are getting connected to Internet of Things environments generating two Exabyte of data and in such situations moving this huge volume of data to cloud for further additional computing will require huge amount of bandwidth which is costly as cloud computing model works on the principle of “pay as you go” (Flavio Bonomi, 2014).
Fog computing is proposed to overcome the data management and computation problem in IoT. Fog computing implements a model in which the data of a certain device in a network is processed and analyzed at the device itself rather at the cloud, this will help in saving time and aids in quick processing (M. Yannuzzi, 2014). One important thing to note is that Fog computing is not any sort of replacement of Cloud Computing, cloud computing will not be eliminated from the IoT environment instead, Fog computing is implemented along with Cloud Computing to take care of information (Arwa Alrawais, 2017).
In simple terms Fog computing comprises of three major components i.e. Fog Nodes, IoT nodes and back end cloud. All these nodes are connected with each other so that they can share data among them, but prior to the implementation of Fog in IoT there was only two nodes i.e. the IoT nodes and back end cloud (Kanghyo Lee).
After a lot of consideration, the best idea to overcome the arising issues of increasing IoT demands is by overpowering by the limitations of the cloud for quick processing of data in order to do so a new sort of computing called fog is proposed which is implemented in an IoT application along with the cloud computing for efficient performance.
Fog Computing has lot more advantages to it than Cloud Computing for instance, fulfilling the demands of IoT, Fog computing can do better at it than Cloud could ever but this doesn’t means that Fog computing will be used in place of cloud. Both cloud and fog computing have to coexist together in IoT (Abdelshkour, 2015 ).
The main purpose of incorporating Fog computing is to get over the problem of data storage in the IoT by deploying nodes to be nearer to the devices which produce the huge data which results in reducing latency in IoT, the data that needs to be analyzed immediately is sent to the nearest fog node where it is analyzed and processed accordingly instead of sending it to the cloud, the data that can wait for some time for analyzing which is not time sensitive is sent to the cloud (Buyya, 2016) , these devices are usually placed close to the devices. The Nodes are often called as fog nodes.
Figure1: Fog Architecture
Material and Methods
A lot of research has been done in the Fog computing field in the past few years owing to various factors, one being its immense popularity and the others due to its particular feature to operate to process data near to an Internet of thing device which produces it, all these factors in some way the other played an essential role (Redowan Mahmud, 2018). According to those research, Fog computing has certain limitations to it which previously has not been clearly addressed.
An interface is needed between cloud and fog to deliver the resources and services to the end devices, using which the cloud can manage fog, exchange data between them, and distribute and deliver services (Zhang, 2016).
Figure 2: Fog- cloud interface
The interest and ideas of this report is similar to the ideas and interests of other researchers together which describes in detail how the Internet of things can manage its data efficiently and effectively by implementing Fog computing. The focus of this paper is to possibly present efficient and real suggestions for the Fog Computing and for the Internet of things to do much better in the future.
The Fog computing has a lot of issues related to security of data or information that it holds or computes. Fog computing involves a lot of exchange of data between all the three nodes and securing that exchanged data is an important task by coming up with efficient and effective algorithms. There are so many ways to secure the flow of data in an environment by making use of different technologies or by detecting and acting against malicious nodes or even by implementing Intrusion detection system in the environment.
There is an insufficiency of modifiable architecture to suit the specifications of different applications in today’s Fog computing model where in the Fog nodes can easily interoperate with others. If an efficient interface and an architecture for Fog computing is employed, then Fog can not only easily overcome its limitations of trust, security and privacy but it can also inclusively enhance the security of data in any Environment, application or field where Fog computing model is implemented.
In Fog computing data is computed at a place which is nearer to the device where the data is actually generated, hence improving the services between the cloud and IoT devices. Fog computing efficiently coordinates resources like storage etc among the cloud and the Internet of Things devices thereby improving the efficiency of system. Fog computing is lot less cheap and faster than cloud and is very efficient for real time internet of things applications (Zhang, 2016).
The major advantage of employing Fog computing is that it provides extreme security, low cost of operation, exceptional level of privacy control than cloud could. The Fog computing essentially manages the complication data storing and processing by being a counterpart to the cloud. The process of analyzing of data is now done at where it is generated instead of just sending it all to the cloud. This method effectively helps in the rolling of the huge volume of data that is generated by Internet of things. It provides great security for sensitive data of organizations, adopting this framework is more likely to provide great agility, security, low cost than the others.
The focus of this paper is to possibly present efficient and real suggestions for the Fog Computing and for the Internet of things and come up with ideas how cloud and fog can coincide with each other and do much better in the future. The interest and ideas of this report is similar to the ideas and interests of other researchers. The report briefly discuss about the information of things, careful research was done to mention the reasons for Internet of things sudden popularity, the report also mentions the change it brought in the way data was produced and processed. The report discusses the challenges data storage system were facing in any IoT based environment or applications especially cloud and explains how Fog computing fit in to be the perfect solution for fulfilling the current requirements.
Fog provides extreme security for sensitive data, low cost of operation, exceptional level of privacy control, hence benefitting the environment where ever it is applied. The implementation of Fog computing will eliminate the need for the high amount of bandwidth that was required in the cloud and provides great security, privacy to the data. However Fog has its own disadvantages, Fog can easily overcome its limitations of trust, security and privacy if an efficient interface and architecture is employed. This approach will definitely aid in efficiently organizing the huge volume of information that gets generated by devices the Internet of things resulting in high-quality service and great security.