Professional Documents
Culture Documents
Untitled
Untitled
Untitled
With Industrial automation gaining its pace, the upsurge in the number of “Intelligent”
their shop-floors into an integrated network of Cyber-Physical Systems, also known as “Smart
Things, and Distributed Computing have also led to the generation of a massive amount of data.
On the contrary, the small manufacturers tend to be left behind when it comes to the integration of
the manufacturing shop floors with the Cloud due to the lack of IT infrastructure and the cost
associated with it. Besides, the manufacturers are apprehensive of data privacy and integrity when
they consider Cloud Manufacturing as a medium of data distribution and exchange. This thesis
proposes a scalable data platform which channels the data generated in a smart manufacturing
environment by resources at different geographical locations while upholding the data privacy and
ownership, using the Fog Computing paradigm. A robust and fault-tolerant middleware using
Apache Kafka is proposed to the existing Cloud Manufacturing architecture, which streams
unstructured data from manufacturing resources. A working prototype of the architecture is tested
for the data generated from CNC machines by the MT-Connect protocol. Furthermore, the Docker-
based containerization approach for deploying a Fog Node is investigated and is compared with
the conventional method. Lastly, the performance of the proposed architecture in comparison to
the existing Cloud Manufacturing framework on Quality of Service (QoS) parameters within a
Smart Manufacturing environment is performed. In summary, the findings of the research propose
a distributed, fault-tolerant architecture for Industry 4.0 architecture for data distribution, which is
industry-scalable, robust, and coherent with the business goals of the manufacturers.
© Copyright 2019 by Riddhiman Sherlekar
by
Riddhiman Sherlekar
Industrial Engineering
APPROVED BY:
_______________________________ _______________________________
Dr. Paul H. Cohen Dr. Binil Starly
Committee Co-Chair Committee Co-Chair
_______________________________
Dr. Michael G. Kay
ii
DEDICATION
and
Riddhiman Sherlekar was born on March 14th, 1995 in Indore, India. He earned his Bachelors in
Petroleum Engineering from Pandit Deendayal Petroleum University, Gandhinagar, India in 2017.
He further decided to pursue a Master’s degree in Industrial Engineering at North Carolina State
University, USA, and will be graduating in the summer of 2019. Riddhiman’s skillset and interests
lie in the domain of Big Data, Artificial Intelligence, IoT Analytics, and their applications in Smart
Manufacturing.
iv
ACKNOWLEDGMENTS
First and foremost, I would sincerely like to express my deepest gratitude to Dr. Binil Starly
without whose trust, guidance, patience, and advising this work would have been incomplete. He
believed in me more than I believed in myself, which motivated me every day to learn more and
work hard. I would also like to thank my Co-advisor, Dr. Paul H. Cohen, for his guidance and
funding the research. My journey would be incomplete without the support, constant motivation
and appreciation from Dr. Behnam Kia (CEO, InfinityGates) who helped me to expand my
knowledge in the area of Artificial Intelligence, Software Engineering and guided me to use the
same for my research. I would also like to mention Justin Lancaster for his help with IT and Amy
Secondly, I would also like to thank Mr. Rob Tahamtan (Lenovo DCG, Morrisville) for
Thirdly, I would like to thank my colleagues Bandeep Singh Dua and Harsh Mehta for their
valuable suggestions and company without whom the journey would be incomplete.
Lastly, I would also like to express my gratitude to Apoorva Mehta, Prithu Bhatnagar, Akshay
Chaudhari, Harsh Patel, Dhruvil Sagar, Dhruv Shah and Apoorv Agarwal who have helped me in
2.1.3 HTTP/REST.................................................................................................... 8
4.4.1 Data Distribution using Python Ingestion Engine with the Physical Server.
……………………………………………………………………………....36
4.4.2 Data Distribution using Python Ingestion Engine with the Docker-based
Containerization Approach........................................................................... 37
4.4.3 Data Distribution using Apache Kafka with Fog Node deployed on
REFERENCES ........................................................................................................................... 49
viii
LIST OF TABLES
Table 4.3 The average time taken to consume messaged in both Fog Node
Implementations........................................................................................................40
Figure 4.9 A graph showing the performance of the Fog node when deployed in a Physical
server…………………………………………………………………..………….37
Figure 4.10 A graph showing the performance of the Fog node when deployed in a Docker
container…............................................................................................................38
Figure 4.11 A graph showing the time taken by the machine data to produce to a Kafka
broker………………………………………………………………………….....39
Figure 4.12 The graph showing consumer lag in case of node failure when the Fog node is
Figure 4.13 The graph showing consumer lag in case of node failure when the Fog node is
locations………………………………………………….……………..………...43
Figure 4.16 The data made available to the user at the Cloud end……………………………43
xi
LIST OF TERMINOLOGY
IaaS Infrastructure-as-a-Service
PaaS Platform-as-a-Service
SaaS Software-as-a-Service
INTRODUCTION
The manufacturing shop floors are heading towards sweeping digitization and taking giant
leaps towards the integration of their IT infrastructure, and shop floors, this shift in operation is
being considered as a revolution as has been termed as Industry 4.0. The term ‘Industry 4.0’
emerged during the Hannover Conference in 2011 and mainly represents the current trend of
automation technologies in the manufacturing industry, which involve the blend of cutting-edge
technologies such as the Cloud Computing, Internet of Things (IoT) and Cyber-Physical Systems
(CPS) [1].
Industry 4.0 constitutes an extensive network of sensors, intelligent machines, processes which
reduce the human interaction and benefits the manufacturing enterprises by automating ponderous
operations. The fundamental design principles of Industry 4.0 can be addressed by a combination
Enterprise Architecture, SOA. According to Lee et al. [2] the interconnected manufacturing
systems and the data acquisition from intelligent machines that comprise of the CPS will revamp
the existing manufacturing shop floors into the Factories of Future. The Industry 4.0 revolution
has numerous benefits which include reducing the overall cost of manufacturing processes,
bringing more pliability in the manufacturing processes and connecting an enormous number of
machines, devices and computing nodes with advanced storage and networking capabilities. The
Industry 4.0 revolution has also given birth to big data with the exponential amount of data
generated from IoT enabled manufacturing machines and processes which requires the use of
modern Big data tools to make this data useful for the manufacturing enterprise [3] which require
a certain level of IT expertise which might impede the digitization of manufacturing industry.
2
Traditional programming models which work with Cloud Manufacturing are inefficient
when it comes to working with high throughput and latency sensitive data distribution within a
Smart Manufacturing environment. Also, the Industry 4.0 revolution is not only limited to
manufacturing data sources which generate data of a specific kind. To tackle this heterogeneity
and distributed nature of advanced manufacturing, modern big data tools, and scalable computing
platforms are required. Further, Industry 4.0 equips the manufacturer with real-time information
sharing and collection from the manufacturing resources. The Industry 4.0 revolution has led to a
stronger control over manufacturing assets, flexible process control, and a more data-centric
1.1 Background
The number of devices which will be connected to the internet, ranging from simple
accompanied by a gigantic stream of data from these devices, which is highly essential, and if used
wisely, it can metamorphosis the current manufacturing workflows. In the present scenario, the
small and medium manufacturers are not well equipped to use this data because of intricate
software platforms and capital investments associated with these platforms or services. Besides,
the control over the data, data privacy and security are also a significant cause of angst among the
manufacturers.
In a broader perspective, to make full use of this data both from the network of sensors or from
smart machines a robust, interconnected architecture consisting of sensors, RFID tags, smart
devices, software applications, data ingestion engines and search engines like capabilities which
perform well in terms of communication and networking aspects is required which can be achieved
3
by leveraging the power of Fog Computing (an extension to Cloud Computing), the Industrial
Internet of Things and computing nodes equipped with storage and networking capabilities.
According to us, the Fog Computing paradigm can be beneficial in solving the current problems
The augmentation in the level of decentralization leads to increase privacy in a Fog Computing
architecture. Each Fog Computing architecture can be unique and can have their special
implementation in terms of tools used, software frameworks, security, and privacy. To summarize,
Fog computing increases data privacy as the number of channels through which the data travels
The underlying concept of Fog Computing is to offload the computing and data aggregating
tasks to a network of distributed computing nodes which are located physically closer to the Cloud
data centers. Doing so would resolve the latency and data bottleneck issues which the current
Cloud Manufacturing is facing. According to us, Fog Computing is necessary to modify the
existing paradigm to expedite the digital transformation under the Industry 4.0 revolution. Several
challenges will arise when a large number of interconnected devices, manufacturing resources are
slowed down. This section will further delineate the research objectives of the thesis.
Problem 1: Real-time data from Smart Machines: The rapid development of Industrial
Internet of Things and advancements in the modern communication protocols has fostered an
environment of massive data streams from the sensor network and other intelligent machines. As
a result, the performance of the existing manufacturing data-driven applications deployed over the
4
Cloud is witnessing a decline. Moreover, a significant chunk of the edge devices or the data sources
in the smart manufacturing environment are systems on chip IoT devices which communicate via
lightweight protocols like MTConnect [4], ZigBee [5], and OPC/UA [6]. Therefore, the first
problem is the need to build a robust data pipeline for these data streams using gateway devices
Problem 2: Data Privacy and Ownership: A focal area of concern when it comes to data
sharing and exchange over different networks is the privacy and control over the data generated
from the manufacturing resources. A manufacturer might be interested in sharing only a particular
portion of his nonproprietary data. Our architecture allows certain types of data (Machine data,
JSON metadata of CAD models) to be shared on a read-only basis with distributed, fiduciary
computing nodes while maintaining the ownership and control in the hands of the manufacturer
which would significantly help the manufacturers to make data-driven decisions from the massive
For the digital transformation to be successful, the smart manufacturing machines and the ad-hoc
data generated during manufacturing processes should be stored in databases which facilitate low-
latency. Time series data, which is a standard format in a smart manufacturing environment, can
severely hamper the performance of transactional queries and add to the delay in event response.
Another twist in the tale is the smooth facilitation of data from distributed databases on which no
central authority has control over the data. Furthermore, to query data from distributed databases,
an abstraction layer is needed to serve authenticated clients who wish to access data of a specified
kind from a specific manufacturing resource and also preventing the manufacturing systems to an
This thesis aims to address the research problems discussed in the previous subsection. The
focus of the research is to develop a data distribution architecture for a smart manufacturing
environment which permits the manufacturers to share their different types of data with a network
of geographically distributed fiduciary nodes and consequently the architecture facilitates the High
performance Cloud to serve the clients in a way that maintains the ownership over the data,
concurrently.
manufacturing machines, which would allow the exchange of high-volume data with distributed
In the first scenario, we demonstrate an architecture which is used to pipeline the high throughput
data from the machines and other data from remote manufacturing resources using Apache Kafka.
Secondly, we show how this data can be aggregated in-house by the manufacturer, and only
specific data views can be transferred to NoSQL databases which are the backend of the stack
which exposes this data via secured API only to the middleware deployed on the High-
Performance Cloud.
Research Objective 2: To demonstrate the use and benefits of containerization approach for Fog
Physical Server implementation of the Fog node in our architecture. The compatibility and
performance of this implementation are evaluated with the data streams generated by the
applications deployed over the Cloud and its effect with the two implementations of Fog Node
6
1.4 Thesis Outline
The thesis is organized as follows: Chapter 2 reviews the literature about the concept of
Cloud manufacturing, Fog Computing, the architectures of Fog Computing for use cases and Data
and its components in detail. The Physical Layer, Fog Layer, and Cloud Layer are described in
particular from a smart manufacturing perspective. Chapter 4 details the robust, fault-tolerant data
pipeline to ingest the high throughput data generated by CNC machines through the MTConnect
protocol and the CAD metadata from another data source. This chapter also explains the
middleware architecture, which serves the clients and the API mechanism by which the fiduciary
makes the data available to the Cloud. Besides, the Docker-based containerization approach is
investigated in this chapter and compared with the Physical Server deployment approach of the
Fog node. Lastly, the overall performance of the complete architecture in terms of QoS parameters
is done for a single request. Overall, this Chapter discusses and demonstrates the use of architecture
and how it facilitates information retrieval through a secure and highly distributed architecture.
This chapter concludes with the overall results and the summary of this approach. Conclusively,
Chapter 5 is a discussion of the overall summary of the research and the future work which can be
done to make the architecture more scalable, robust, and integrable with the existing Cyber-
Physical infrastructure.
7
CHAPTER 2
LITERATURE REVIEW
This chapter will review the communication protocols and various technologies that are
used for data transfer and exchange within a Cyber-Physical system. Section 2.1 is dedicated to
the communication protocols and Big Data tools, which form an integral part of the proposed
architecture. The following section, covers the literature and previous works on Cloud
manufacturing with the following sub-section describing the limitations of Cloud Manufacturing
in the current scenario. Section 2.3 gives an overview of the concept of Fog Computing and is
proposed, respectively. The final section reviews the previous work done in Fog Computing
pertinent to manufacturing.
architecture. In this section, the communication protocols, security protocols, relevant Big data
tools for data streaming, and other industry standards will be discussed.
The TCP or the Transmission Control Protocol is of high importance in the IoT
environment. Being a connection-oriented protocol, TCP keeps track of packets and retransmission
mechanism is also available in case of a packet loss. Moreover, TCP is versatile as it can be used
along with AMQP, MQTT, and most importantly, with the REST architecture [7].
Web Sockets are the progression for the old client-server architecture and also provide full duplex
communication channels over TCP. In simple words, web sockets establish persistent
communication between the client and the server, which allows both entities to send and receive
8
data. Web Sockets are widely used to send the data from a server to a client but are not favorable
The Extensible Markup Language provides a standard method to encode the documents
which allow them to be machine-readable and human-readable for data exchange over the internet.
Moreover, XML is also being used nowadays for representing arbitrary data objects [9].
JSON or JavaScript Object Notation is used to represent data in key-value pairs and also serialized
data. As the data representation is arbitrary in the IoT landscape, the two most common data
formats are XML and JSON. As a result, in a broader context, these two formats form the backbone
of IIoT communication even though JSON is considered as a standard format for IoT as it is more
2.1.3 HTTP/REST
The Internet heavily relies on the REST or the Representational State Transfer architecture,
which relies on the HTTP. The REST is a software-oriented architecture which provides a high
level of interoperability between computing systems over the Cloud. These services allow clients
to get access to textual representations with the use of "stateless" operations. A stateless protocol
is not needed to store the information about the status of a user when multiple requests are handled.
The communication is established with the fog layer commonly using the REST HTTP protocol,
which provides more flexibility to developers for building applications to serve clients. A set of
operations allowed by the HTTP are GET, PUT, POST, and DELETE.
2.1.4 MTConnect
data and establish communication between cyber-physical systems. The data generated by the
9
MTConnect protocol is primarily used for machine monitoring and analysis of the data generated
during the machining process. MTConnect is an open-source protocol which provides an XML
based backend format. There are two components, namely the MTConnect agent and the
MTConnect adapter. Data is retrieved by the MTConnect adapter and the adapter further supplies
this data to the MTConnect agent. The agent further maintains this data in a TCP server and
provides a REST interface, meaning that the data can be retrieved via HTTP request-reply, which
The Publish / Subscribe messaging system is a software architecture in which the data
sources which generate the messages do not directly send them to the receivers or the subscribers
but instead classify them into separate topics. The Publish/Subscribe model is heavily used in the
micro-services architectures, and a vital feature of the Publish/Subscribe model is that decouples
applications which in turn improves the scalability and performance of the system. The producers
do not produce messages for the consumers, and similarly, the consumers express their intent by
subscribing to the topics rather than directly consuming the messages from the producer.
Apache Kafka [10] is a distributed data streaming platform having combined capabilities
of data streaming, storage, and messaging system. Kafka uses the publish/subscribe messaging to
stream data via robust and secure pipelines in real time and also exchange the data between cyber-
physical systems which form the backbone of an Industry 4.0 architecture [11].
10
The key components of Apache Kafka are namely:
• Producer: A Kafka Producer is an application which acts as a Data Source [10]. Producers
can publish their data to topics at their will and are also responsible for the management of
by the consumer, and Kafka also has built-in functionality of consumer groups, which
• Broker: A Kafka broker is a server, and the Kafka producers who publish the data to the
topics are within the broker. A Kafka broker is a part of the Kafka cluster and is coordinated
by Apache Zookeeper.
• Topic: A Kafka topic consist of multiple partitions, and brokers are the entity which
persists the topics. Kafka consumers read the data from Topics. A Kafka topic is a data
structure which is persisted on the broker’s disk. The messages are stored in the format of
byte arrays which are further organized into Topics. A key functionality provided Apache
Kafka is that the messages are retained and persisted longer than other queue based models.
A plethora of work has been published, which proposes several ways and methodologies
primary area of focus of these papers is the various communication protocols which are integrated
11
within the systems to anchor the massive flux of data which generates in a highly distributed and
decentralized cyber-physical system. Data management and reliable communication protocols are
the real essences of successful architecture. One of the initial works [13], proposed a control
manufacturing environment. The literature identified significant issues which occur during
traditional manufacturing and how it fails when the complexity of system integration increases.
The authors proposed an architecture using the DDS protocol, which allows industrial robots and
A similar approach for flexible automation was proposed by the authors in [14], which introduced
a real-time, platform independent system using DDS and a case study involving a modular
fixturing system. Ungurean and Gaitan [15] discussed the interoperability of Data Distribution
Service with a SCADA system. The architecture used in the paper by the authors is based on the
OPC protocol, which uses a DDS middleware to distribute the data and establish communication
with the SCADA systems. The essence of all the proposed architectures is the different
systems.
The term Cloud Manufacturing was coined in the year 2011 [16], who proposed this
concept to be a business model built on the service-oriented architecture which enabled small and
Cloud platform. The current state of manufacturing after the Industry 4.0 revolution is under
intense pressure to significantly reduce the cost of manufacturing processes and make the process
more flexible as the small and medium scaled manufacturers have started taking steps towards
12
digital transformation. The new paradigm of Cloud Manufacturing has shifted the conventional
solutions like Cloud Computing and the Internet of things [17]. This paradigm shift now enables
manufacturers to operate their shop floors more efficiently coupled with an intelligent abstraction
production capabilities and rapid product customization requires a high degree of agility,
use model with low cost, reliable computing resources for the manufacturers which is a
considerable incentive for SME’s who seek to join the Industry 4.0 revolution and use it for a trust-
Figure 2.1 The Operating Principle of Cloud Manufacturing (Ning et al. [18])
A significant advantage of Cloud Manufacturing is that it provided an intermediate layer of
abstraction between the manufacturing resource and trusted users who are interested in accessing
the information generated by the manufacturing resource or a part of it. This enables the
manufacturers to share their resources and design in a more collaborative manner [17].
Cloud Manufacturing has been gaining a lot of importance lately. Many small manufacturers have
migrated their ERP systems to the Cloud, which has induced more organizational flexibility and
drastically reduced costs of operations. Moreover, the migration of manufacturing services over to
13
the Cloud has significantly reduced the capital investments required for IT infrastructure and
hardware. Manufacturers have duly leveraged the pay-per-use model by outsourcing the time and
Cloud Services being highly scalable, have helped the manufacturers to make the vital product
data efficiently available to interested parties. For a manufacturing business to thrive, Cloud
Manufacturing has also brought about independence within the manufacturers, and it also helped
the manufacturers to concentrate more on their area of expertise, which contributes highly towards
organizational efficiency. Further, the time to market is also significantly reduced using Cloud
Manufacturing as serving the clients. Cloud Manufacturing also has disadvantages when it comes
to several factors. A significant reason for concern is the computational performance, which will
be an issue as several smart machines and old legacy machines will be connected in an IT
environment. The connection loss is also a matter of concern because cloud manufacturing relies
lot of private data and information about the manufacturing resources is given right away to the
Cloud rendering it as a single point of failure. This centralization is a huge demoralization for the
small and medium manufacturing for whom their data is an asset of prime importance.
A possible solution to solve the issues mentioned above, which also forms the basis of this thesis
Cloud Manufacturing has modernized the state of manufacturing. Manufacturers can now
utilize managed IT resources for maintaining their manufacturing resources, ERP systems without
dedicating their time and money for maintaining in-house infrastructure. However, the Cloud
seems to have several limitations as the IIoT and Cyber-Physical systems expand.
14
The amount of data generated by the MT Connect protocol is tremendous, and when the number
of machines is scaled, the current cloud computing technologies will not suffice to handle the data
streams. Additionally, the massive data will cause network bottlenecks leading to latency and
bandwidth issues for applications as this would largely depend on the distance between the
physical location of manufacturing resource and the Cloud datacenter. Authors in [19] have
investigated the performance of Cloud computing against data types and found a considerable
difference in performance with a corresponding increase in the precision of floating point numbers.
Since the data generated in the smart manufacturing environment are of considerably higher
performance. Moreover, as the distance between the data source and the Cloud data center
increases, the network cost increases, which is an overhead to the small and medium scale
manufacturers. Besides, another major cause of concern is the data integrity issues which occurs
because of centralized data storage and sharing of resources for multiple users [20]. Lastly, the
manufacturers tend to get locked with the Cloud service providers, and as the volume of data
increases, the migration of data also gets more stringent and cumbersome.
The limitations mentioned above can be tackled by "Fog Computing," which is explained in the
following sections.
As discussed in the previous sections, the concept of Cloud Manufacturing takes a back
seat when it comes to deploying applications with high throughput and low latency. Moreover,
Cloud Manufacturing being of a more centralized nature deters the small manufacturers from
sharing their data resources as they are apprehensive of losing control over their data or have a fear
of data manipulation. A potential solution to the problem is Fog Computing, which was introduced
15
by Cisco [21] in the year 2014. Fog Computing is defined as an augmentation to the existing cloud
computing paradigm which involves concepts of distributed computing which brings the
nodes with computing, storage and networking capabilities between the IoT enabled devices and
heterogeneous, wide-ranging, and decentralized devices communicate with each other through the
network to perform storage and processing tasks without an active intercession of third parties.
The resources are distributed through a network of fiduciary nodes which do not have a conflict of
interest with the stakeholders who share the data. A key feature of Fog Computing is that it offloads
the computation to the distributed nodes and thereby improving the performance of latency-
sensitive applications [22]. Fog Computing being of distributed nature is of a great benefit to the
manufacturers as it distributes the information which may be required for low latency applications,
e.g. if an employee or a designer is interested in a data of the particular client and currently not on
premise. The successful implementation of with the large-scale network of sensors which stream
real-time data under the Industrial Internet of Things, Fog Computing enables the manufacturers
to store his/her data at storage locations which he trusts and concomitantly make use of his data
through analytics. Cloud Storage accompanied by Fog Computing is one of the most optimal
solutions to ensure IIoT applications do not collapse under the burden of mammoth data.
Moreover, Fog computing being closer to the IoT enabled manufacturing machines , is highly
capable to reduce the propagation of manufacturers data, for instance by analyzing sensitive data
on a local fog device instead of a premises outside of the control of the manufacturer which
improves the privacy and brings more transparency when sharing of the manufacturing resource
occurs [23]. The OpenFog consortium played an important role in delineating guidelines of the
16
system architecture of Fog computing. The OpenFog [24] reference architecture white paper. The
characteristics which must be followed. IBM described Fog Computing as “The term Fog
computing, or Edge computing means that rather than hosting and working from a centralized
cloud, Fog systems operate on network ends. It is a term for placing some processes and resources
at the edge of the cloud, instead of establishing channels for cloud storage and utilization.” [25].
One of the foundation works which presented an overview of the term “Fog Computing” was
published by Bonomi et al. [26] which highlighted the importance of Fog computing in critical
The salient characteristics of Fog Computing paradigm, which makes it appropriate to use for IIoT
Low Latency: Several IIoT applications which follow the design principles of Industry 4.0
principles require low latency for sharing and accessing manufacturing resources which is an
essential characteristic feature of Fog Computing [27] as it spreads its computing and storage
capabilities within a network of computing nodes compared to a centralized Cloud resource. The
distribution of tasks among nodes also reduces the cost and sometimes the overall flexibility
associated with the deployment of applications. Buyya and Dastjerdi [28] in one the pioneer works
in Fog Computing, have presented several use cases of latency-sensitive applications like tracking
healthcare activity, real-time analytics and the benefits of fog architecture in these end-to-end
latency-sensitive applications.
17
Geographical Distribution: In a Smart Manufacturing environment, data will be generated both
in-house and via sources which could be distributed geographically or spread across the factory
floors. Fog computing typically performs well; the scheme of deployment is distributed compared
to the more centralized nature of the Cloud Computing. The number of connected machine tools,
3D printers is on the rise, and pressing concern of the small and medium scale manufacturers is
the data privacy and control which tends to be hampered when the data is sent over to the Cloud
which is a highly centralized resource. Besides, a large chunk of the information is a high-
dimensional time-series data which makes it “Big Data,” and this compounds the challenges which
Extensive Sensor Network: Sensors are the backbone of the Industrial Internet of Things. An
extensive network of sensors is generally used to gather information and data from manufacturing
machines. These sensors are mounted on machines or are inbuilt within smart machines with a
primary aim of gathering data related to temperature, spindle movements during cutting operations
on CNC machines, detecting significant events while a machine is under an operational state. The
old legacy manufacturing machines are also being connected with RFID sensors or Wireless sensor
networks. Moreover, the gateway devices such as routers, switches, wireless gateways enable an
efficient of data transfer from the gateway devices. Also, the monitoring of manufacturing
resources inherently requires a network of sensors and distributed storage and computing services,
Device Heterogeneity: Under the ubiquitous connectivity paradigm, a lot of heterogeneous data
sources for ex. Smart Manufacturing machines, Old legacy machines connected with sensors, 3D
printers, industrial robots, computing nodes generating CAD models are being connected to a
18
network continuum. Fog computing being distributed in nature supports the connection of various
High Virtualization: The term virtualization is defined as the abstraction of physical resources
from a computing node. Both the Cloud computing and Fog computing techniques use
virtualization, but since the latter being more distributed, has a higher degree of virtualization. The
Fog Computing comprises of many smaller distributed computing nodes which can be both
virtualized. Fog Computing permits a high degree of virtualization because of which a single
computing node can serve multiple clients (multi-tenancy) who are particularly interested in data
Decentralized and Distributed Nature: Fog computing has been identified as one of the most
promising computing paradigms when it comes to the decentralized and distributed nature of
computing infrastructure. Fog Computing offers a broader spread geographically along with a low
latency environment.
Smooth Integration with Big Data Tools: Fog Computing paradigm has shown a seamless
integration with several Big Data tools in the past. Fog computing being of the decentralized nature
and Big Data tools which have been explicitly designed to work with distributed platforms such
as Hadoop work coherently with each other [31]. This smooth integration of Fog Computing with
existing cutting-edge tools and technologies makes it more suitable for manufacturers who are
aiming for a digital transformation of their shop floors. Besides, the IoT network of sensors, which
generates Big Data needs an effortless blending with computing platforms like Fog Computing
[32].
19
2.4.2 Architecture of Fog Computing
The concept of Fog Computing is built upon the fundamental idea of distributed computing
where the data collection and processing is offloaded to the federated nodes in contrast to Cloud
computing instance with storage and networking capabilities. The term “Fog Node,” which is the
quintessential part of the Fog Computing architectures, has an open interpretation. A Fog Node
can be a set of embedded devices, switches, routers [33], gateways, single board computers,
smartphones but a required and common characteristic, in general, is the presence compute,
storage and networking capabilities. A difference between the definition occurs because cloud
computing is highly centralized, so a description of cloud node is required. Fog nodes can be
connected to both the devices which are only data producers and the devices which are intelligent
and can perform data filtering, wrangling operations (computing capabilities) on the device itself.
The issue of data privacy and trust in a cloud computing environment and how fog improves the
current situation was mentioned by Vaquero and Rodero-Merino [34]. The Small and Medium
manufacturers are apprehensive of exposing their data and giving control over their data to a
centralized resource like a cloud. Fog tackles this issue with ease as it allows applications to run
The backbone of implementing a Fog Computing platform lies in the software architecture.
Authors in [29] described the functional components of a layered Fog Computing architecture in
detail wherein an essential concept of using the REST API’s for data exchange was introduced.
Aazam et al. [36] proposed a three-layered architecture with the Fog Layer as an intermediate layer
between the IoT enabled devices and the Cloud along with a case study of the performance of the
proposed architecture. Sarkar et al. [27] in the paper, performed an actual comparison between the
20
three-layered Fog computing architecture and the cloud computing architecture on energy
consumption and latency. Besides, authors in [37], [38] and [39] have discussed fog computing
This section will detail the connection of Fog Computing and Manufacturing. Firstly, the need of
Fog Computing in the domain of Smart Manufacturing will be next section which will be followed
by the challenges faced during the implementation of Fog Computing architectures in the realm of
A framework for machine health-monitoring using the Fog Computing approach was proposed by
Wu et al. [40] to perform predictive analytics using Machine learning algorithms and High-
performance computing services. The authors used the generic three-layer architecture, but a
significant focus was on the supervised machine learning approach. A manufacturing inspection
system which used deep convolutional networks was presented by authors where the
computational tasks were offloaded to Fog Nodes within the architecture [41].
A novel model for experimental load estimation was presented by authors in [42] who evaluated
the performance of their architecture based on the design principles of Industry 4.0. A graph-based
approach for modeling and analysis of a Cyber-Physical system was presented in [43] in which
they found a random-network like the behavior of a CPS system in a Fog Computing environment.
A cost-effective combination approach which used MQTT protocol with Fog gateway devices was
proposed, which aimed to decrease the energy consumption in a Fog based scheme by Peralta et
al. [44].
As the Industry 4.0 revolution has been gaining traction lately, the manufacturers have started the
process of automation and digital transformation at a high pace. Data of different types (structured,
21
unstructured, and semi-structured), which is generated by various manufacturing entities such as
robots, machines, CAD processes will replenish the conventional SQL storage databases.
Lastly, IIoT would be vulnerable to attacks that can affect the availability, confidentiality, and
In this chapter, the first section will give an overview of the System architecture, which
was implemented in the research thesis. The structure of the chapter follows just as the IoT
platforms are designed for most of the projects. Secondly, the characteristics of the layered
architecture of the proposed design will be discussed starting with the Physical layer, followed by
The System architecture is made up of the Physical Layer, which consists of the IoT
enabled devices, the Networking Layer and lastly, the Cloud layer. The generic three-layered
system architecture as described by authors in [45] classifies the IoT architecture into a hierarchical
and distributed architecture. From the Industry 4.0 perspective, the architecture may consist of the
The devices in the Physical layer can be old legacy machines with sensors mounted over
them, robots, automated systems which generate data at tremendous rates. The CNC machines
generate data which is transmitted by communication protocols like OPC/UA, MTConnect, which
may be implemented by a hardware component or a software component. The Physical Asset layer
or which can also be called as the Edge Layer interchangeably is made of IoT enabled
manufacturing machines. The machine set up in the NC State laboratory was made up using a Hall
sensor in combination with a single board computer (Raspberry-Pi). The MTConnect Adapter was
used in conjunction with the machine hardware available in the HAAS machine at NC State
23
University while the Mazak Integrex I-100ST machine has the inbuilt MTConnect agent. The data
Besides, the physical asset layer also contains the computing resources which provide the data
generated during a CAD modeling process. This data includes the STL files, STEP files, JPEG
images of the CAD model, and the most critical JSON metadata, which consists of the features of
the model. Moreover, the JSON metadata is highly useful as this will be made available to the
The devices within the Physical Layer require a secure gateway through which they can
communicate with a Fog Node. A fundamental design principle of this architecture is that the
manufacturer can control what data is shared with the Fog Node at this stage. The first level of
control is established at this stage when a Python adapter performs two tasks – 1) sends the data
to the manufacturers ERP's database which has no further connection with the Fog Nodes and 2)
Some of the critical characteristics and Design principles of the Physical Layer are as follows:
24
• The manufacturing resources present in this layer can be owned by the small & medium
manufacturers who want to share their data but do not want to give away their control over
their data.
• In our architecture, we have evaluated the data distribution between the IoT enabled
The Network Layer is the layer of the highest importance in the entire system architecture.
This layer consists of physically computing nodes, which are geographically distributed or
virtualized instances of physical resources. Techniques such as Data Virtualization can be used
within the Networking Layer to integrate data from various sources into the Fog Nodes [47]. This
abstraction layer further acts as a controller of hardware resources and enables multi-tenancy
within the fog nodes [48]. On the contrary, Fog may have its own set of complete applications
(like the cloud) where the cloud may act as a facilitator to access the applications running on the
fog node. The nodes which communicate with this layer are responsible for transmitting the
collected data via an IoT gateway device which can be a router, switch or via wireless
The network of the Fog nodes will be different from the network of the edge devices. We have
used the NodeJS and Express framework of JavaScript for the design of Fog Nodes because of
their popularity and flexibility. These nodes are connected to the main Cloud, which further makes
this data available for searching and can also be used to perform predictive analytics on the Cloud.
The communication mechanism plays a significant role in the architecture since the data being
transferred from the manufacturing resource or discrete manufacturing resource should be done
via a secure channel. Moreover, apart from the communication protocols, the physical security of
25
the machines and Fog nodes is also important. The secure channel which we used for data transfer
in this thesis was achieved through the use of Apache Kafka. Apache Kafka is a distributed
messaging system which follows the publish-subscribe pattern and is capable of handling a high
stream of data. The data is published via the Kafka architecture in the form of messages. This
robust architecture also provides a mechanism to persist data on disk and even a separate
The virtualization technique is the foundation behind the Cloud computing model. As mentioned
earlier, the cloud layer can also be virtually deployed. The two most common techniques of
virtualization are the complete virtualization and the containerization technique, which will be
Complete Virtualization: The virtualization is the phenomenon which creates virtual replicas of
physical resources by performing the hardware level abstraction. The physical resources constrict
the number of virtual instances which can be run on a server on that particular device.
Containerization: Containers tend to consume only a small amount of physical resources. The
containerization performs Operating system-level virtualization, and moreover, the containers are
lightweight. Containers have access to the host kernel and isolate the virtual environment
completely. In summary, by splitting the operating system between the container and the host, the
containers only require the resources to run a particular application form the host machine.
The Cloud Layer is an essential component of the architecture, and without it, the full of
the power of fog computing cannot be realized. The cloud layer in any Fog Computing architecture
26
is the uppermost layer with High-Performance Computing nodes and Datacenters. The Cloud
Layer is part of the architecture, where long-term analytics, such as predictive maintenance and
other compute-intensive operations, can be executed. The Cloud layer is designed to communicate
a) The cloud Front-end: The Cloud Front end is the main application which is exposed to the
Public over the Internet. The Front-end serves the clients and provides with the analyzed
b) The Fog-Cloud middleware: The Fog-cloud middleware is an essential part of the stack
which maintains the registry of the Fog nodes and metadata about the location and other
characteristics of the Fog Node. The middleware has access to the request objects made at
the cloud and using the metadata information from the registry; it directs the request to
appropriate Fog Nodes. The request-response cycles are under the control of the
middleware, and it is the job of the middleware to respond to requests by fetching data
c) The cloud backend: The backend of the stack is a NoSQL database. The data store contains
data about the registry and other useful data collected from the distributed Fog Nodes. The
data from the Cloud backend is used to serve clients through data-driven applications, and
the historical data stored within the Cloud backend. Machine Learning and Artificial
In this section, the implementation of the research, right from the IoT enabled machine
tools and other manufacturing resources to the Fog Node, the Cloud Node and the Application
Programming Interface will be discussed at length. The first part of this chapter discusses the
design of the Edge Layer, followed by the design of the Fog Layer and lastly the Cloud layer
design is presented. In the end, the results of the overall performance architecture with different
The design objective of the Edge Layer is to exchange the data securely and, in a fault-
tolerant manner with the computing nodes present in the Fog Layer. The Edge Layer in our
implementation consists of the CNC Machines which are either old legacy machines and have
been connected by a network of sensors and a single board computer to transmit data to a local
server by the MTConnect protocol or the “smart machines” which have the built-in MTConnect
agent and Adapter [49]. The data flow architecture in both types of machines is shown in Figure
below.
and work hand-in-hand to allow the machines to communicate with the Internet. These devices
transmit data to a local NC State server in the XML format with the help of HTTP protocol as
shown in Figure 4.2. Additionally, MTConnect provides a RESTful interface which makes the
on the computing node which is in the Edge Layer which also stores the data into a SQL database.
This python program consists of multiple stored procedures which run continuously and stored the
parsed data into tables Figure of a PostgreSQL database hosted virtually on AWS Cloud, which
The Edge Layer can also consist of the manufacturing resources consisting of CAD and design
data, which is stored on another Cloud or Document Store such as Google Drive. In the current
scenario, a plethora of data generated during the manufacturing process, such as 3D printing, is
siloed and not easily accessible over the Internet. Besides, the majority of these repositories are in
different geographical locations, which further adds to the issue of data siloing. These
decentralized CAD repositories allow limited access to clients and designers to CAD models and
pertinent data which can be used in modeling applications. Additionally, the small and medium
scale manufacturers can leverage the power of the proposed architecture to showcase their
30
engineering and modeling capabilities. A Python program which reads the data from the CAD
repositories and shares the non-proprietary data with the Fog Nodes are deployed at the end of the
manufacturing resource.
The interplay of data exchange between the Manufacturing resources present in the Edge
Layer and the computing nodes present in the Fog layer is of vital importance. In our
implementation, we have evaluated two approaches to establishing communication with the IoT
enabled manufacturing resources and the Fog Nodes. In the first approach, we establish
communication by using the conventional web sockets to send the data from the Edge layer to the
31
Fog Node while in the second approach we use the web sockets in combination with a robust,
fault-tolerant data streaming platform (Apache Kafka) for data exchange. The performance of both
the methods and its effect on different Fog node implementations will be discussed in the
subsequent sections.
OPC/UA, which are not powerful to support compute-intensive applications. The reason for
choosing Apache Kafka over MQTT is the ease of handling massive amounts of data in batches
A key point of weighing Apache Kafka over other distributed messaging systems is that it allows
the data broadcast to multiple consumers which is quintessential for our architecture as this will
enable manufacturers or the owner of the manufacturing resources to share data with numerous
Fog Nodes and moreover, the fog nodes of their choice. Another advantage of using Apache Kafka
is its easy and smooth integration with other applications, unlike other tools which are platform
specific. The high fault tolerant nature of Apache Kafka is achieved by the help of another tool,
which is known as Apache Zookeeper. Zookeeper is mainly responsible for maintaining the
The Fog nodes in our implementation are designed in such a way in our architecture that
they act as an intermediary entity equipped with computing, storage and networking capabilities
which are closer to the resource when compared to the High-Performance Cloud. The
KafkaConsumer class of the kafka-python module was used for this abstraction as it works to
consume messages from the Kafka topics, similarly to the official Java client. These nodes
consume the data streams by subscribing to specific topics to which the manufacturers publish the
32
data streams. A significant advantage of Apache Kafka is that in case of failure is that once the
node is back again, the data is not lost and can be consumed from the beginning as the consumer
reads the data right from the beginning of the offset. Furthermore, the data published to Apache
Kafka is immutable.
For the implementation of Fog Nodes, we have compared and contrasted two approaches, namely
The first approach of the implementation of a Fog Node was performed using a Physical
resource by performing a hardware level abstraction of the physical resources present at a different
The application developed using the NodeJS and Express framework is deployed on the Physical
The second approach for the implementation of the Fog Node is the Docker-based
Operating System level abstraction of the application with its environment. The main benefit of
using the containerization approach is that it can be run on different operating systems,
independent of the operating system on which the application was developed and also without
worrying about the dependencies. Since the Fog Computing architecture can consist of
intermediate fiduciary nodes like a single board (Ex. Raspberry Pi), containerization technique has
the edge over the virtualization technique since the CPU, and other hardware requirements for
33
virtualization are comparatively much higher than those required for containerization. The lower
computing requirements and quick deployment of containers make the implementation of Fog
The NodeJS Express API, which was deployed on the physical server, was dockerized into a
Docker container by adding a “Dockerfile.” “A Dockerfile is a text document that contains all
commands a user could call on the command line to assemble an image” [50]. The application
is assembled, and a Docker image is built, which can be further deployed in the Docker Hub
repository which makes the app available globally. For dockerizing the app, docker-compose tool
was used to run the multi-container app since the application deployed on the Physical had two
components, namely the MongoDB and NodeJS. The official Docker images (mongo [51] and
The application deployment at the Fog Node was done using the NodeJS and Express
framework. The backend of the application is the MongoDB NoSQL database, which is the sink
for data consumed by the Fog Nodes from Kafka brokers by subscribing to various topics.
The Kafka Consumers deployed on the respective Fog nodes which subscribe to specific topics
which the Edge devices publish their data, stores these streams in the Fog Node databases which
are NoSQL MongoDB in our implementation. The MongoDB database acts as a sink for multiple
Location of Data in
MongoDB
JSON Data
Format
A particular Fog Node can subscribe to several edge devices which are close to its vicinity by
subscribing to specific topics, and the data published to Kafka is immutable. The Kafka sinks
(MongoDB databases) are the backend in our stack which exposes the data via an API exclusively
to the Fog-Cloud middleware. The Express framework is used for building web applications on
top of the NodeJS. The main advantage of using Node is that it is built over Chrome’s V8 engine
The Fog application deployed on the Fog Node can be smoothly integrated with other application
and networks. This application uses the REST protocol since the data format in both the database,
which is a NoSQL database, and the API is consistent. The data is exposed by the RESTful API
running on the Fog node and can be accessed by anyone in only a read-only format, i.e., only GET
requests can be sent to the data which is exposed by an API endpoint and expressed in JSON
36
format and made available to the client via an HTTP web browser. This API endpoint is masked
and only accessible to the Cloud Middleware, which direct client requests to appropriate fog node.
This section evaluates the results and computation performance of the data distribution
using the Apache Kafka and the conventional methods of data distribution using custom-built
ingestion engines using software adapters as discussed in like those mentioned in literature [49] ,
[54].
4.4.1 Data Distribution using Python Ingestion Engine with the Physical Server
For the first approach, the data ingestion is done using a Python Driver for MongoDB
(PyMongo), which sends data to the MongoDB database and is the data store for the deployed Fog
Node. PyMongo is a strapping module which also supports connecting to MongoDB over
TLS/SSL. An SSL certificate can be required from the server as well as the client (Fog Node in
our architecture) when the data is to be sent over TLS protocol. The MongoDB database in this
approach was deployed on a virtual machine on the NCSU network and is the backend of the API.
The API exposed at the Fog end is only securely accessible to the Cloud middleware. The
significance of this approach lies in sending over data which does not require streaming for e.g.
CAD metadata.
37
Figure 4.9 A graph showing the performance of the Fog node when deployed in a Physical
server
4.4.2 Data Distribution using Python Ingestion Engine with the Docker-based
Containerization Approach
As mentioned above, the data store for the application, which was the NoSQL MongoDB database
was deployed in a Docker container. The official Image on MongoDB (mongo) was used for the
experiment.
38
Figure 4.10 A graph showing the performance of the Fog node when deployed in a Docker
container
The average time taken was twice as less as compared to the Physical server, which manifests the
fact that containerization approach is suitable for the Fog computing platforms.
39
4.4.3 Data Distribution using Apache Kafka with Fog Node deployed on Physical Server &
in a Docker container
In this approach, we implemented the data distribution architecture using a robust, fault-tolerant
data streaming platform (Apache Kafka). The data distribution has two components when
streaming data with Apache Kafka. Firstly, the data is published to a broker, and secondly, the data
is consumed by the Kafka consumer from the broker. The time to produce by the manufacturing
resource to the Kafka remains the same, but the time to consume the published messages from the
broker varies according to the type of implementation of Fog nodes. This approach deals with the
Figure 4.11 A snapshot showing the time taken by the machine data to produce to a Kafka
broker
The average time taken to consume the batch of 242 messages from the Kafka broker is shown in
4.1503 ms 5.1453 ms
Figure 4.12 The graph showing consumer lag in case of node failure when the Fog node is
Figure 4.13 The graph showing consumer lag in case of node failure when the Fog node is
The implementation of Cloud Node was done locally on the NCSU network. The Cloud is
the high-performance, industry grade data center which collects data from multiple Fog nodes and
also maintains the registry of the Fog Nodes and their characteristics (e.g., the kind of data, a
particular Fog node has or aggregates) but for the experimentation purpose and to avoid the
additional operational dependencies , this approach was selected. Another essential part of the
High-performance Cloud is the Fog – Cloud Middleware (FC middleware). The FC middleware
is a software component written in JavaScript and deployed on the cloud which communicates
with the computing nodes present within the Fog layer and is responsible for directing requests
made to the Cloud node to appropriate Fog node and respond them on Cloud. The FC middleware
is that component of Cloud which knows the location and characteristics of the Fog Node. For our
implementation, we have deployed the Cloud Node locally on the NC State server with the
42
middleware embedded in the application. The cloud hosts the User interface, which serves clients,
designers, and other parties interested in the data generated by manufacturing resources.
Figure 4.14 shows the web page, which allows the user to navigate and select the data streams of
their choice. The implementation of the Web application, which also provides the User interface
Figure 4.15 Web Page showing the availability of data streams from different geographical
locations
Figure 4.16 The data made available to the user at the Cloud end
parameters in terms of average response times. The response time, in this case, is the time to take
44
to respond to a request which was made on the Cloud while the response was made from the Fog
Node. The main application is hosted over the High-performance Cloud, which presents the
clients with a User interface displaying the options for information about specific manufacturing
resources. When a request is made over the Cloud, it is further transferred to the middleware,
which also gets the response from the Fog Nodes and returns it to the Cloud.
Both the implementations are investigated in terms of performance of the architecture. Firstly,
the performance of the overall architecture was observed when the Fog Node was deployed in a
Physical server while in the second case, Fog Node was deployed in a Docker container.
The experimental performance of both the implementations of the Fog Node shows the marginal
5.1 Discussion
Data distribution and exchange are of crucial importance in an Industry 4.0 architecture.
As discussed earlier, when the number of connected machines will increase, the Cloud
architecture that allows IoT enabled manufacturing machines to stream their data to a decentralized
and distributed layer consisting of computing nodes which are physically closer to the
manufacturing resources and consequently, reduce the network bottlenecks. The architecture is
built on the generic three-layered architecture for Fog Computing, and the main focus is on the
data streaming between the IoT enabled manufacturing machines and the implementation of
The first part of the study focuses on the data streaming from manufacturing resources, i.e., IoT
enabled manufacturing machines and the data generated in during a CAD modeling process. We
have presented an implementation of data streaming from IoT enabled machines using Apache
Kafka, which is a unique combination of data streaming, storage, and messaging system. The logic
to the reason of high-volume and massive data emanating from the manufacturing resources.
Furthermore, the ease of scalability with Kafka is much higher compared to the other alternatives.
In the second part of the study, the focus on the type of implementation of the Fog Node and the
deployment technique of the application on the Fog Node. We have deployed the Fog Node in a
container and run it using a Docker, and the compared the network performance with the scenario
when the Fog node was deployed on a physical server on NC State network. The experimental
46
results show that the containerization can be preferred for the Fog node deployment as the delay
in responding to a request made to the high-performance Cloud is marginal compared to the Fog
Node deployed on a Physical Server. Moreover, the containerization technique is suitable for
Smart Manufacturing use case as it augments the data privacy and cuts on the bootup latency
required for the start of Fog Nodes. Lastly, according to the study, the containerization technique
While we have proposed an approach for Data distribution between the edge devices and the Fog
Nodes, a lot of research in other aspects of the architecture are required to build Fog Computing
Platforms. Active input from the manufacturing community is needed on the type of data to be
shared and manipulating software adapters custom to their machines. Besides, there are several
factors mention in the subsequent section, which influences the success of any Fog Computing
The applications of Fog computing in the field of smart manufacturing is still at the
fledgling state. Moreover, the advances in sensor technologies, embedded systems advanced
automation, and robotics has led to a generation of the tremendous amount of data which needs to
be channeled efficiently to leverage its true potential. Some of the areas of future work which can
Intelligence: With the recent advancements in the field of Artificial Intelligence, the Fog
• Improved security: A significant area of research lies in the field of security of fog
computing platforms and also securing the cyber-physical systems. The process of
processing data locally on remote computing nodes raises concerns over data security.
Since the data travels both locally and over a series of disparate communication networks
which are difficult to secure by a standardized procedure, more work can be done to secure
• Cost considerations of Fog Computing: The effect of introducing the concept of Fog
Computing on operating cost and maintenance cost to the device owners, fog node owners
should be investigated more deeply. Although by distributing the computing, storage and
networking capabilities among fiduciary nodes lowers the economic burden on a single
entity an equitable incentivizing plan is required which provides a quantitative figure to the
cost involved in the maintenance and operations of these Fog computing Platforms.
• Hierarchy and Management of Fog Nodes: Fog nodes support hierarchical structures,
with different layers providing different subsets of service functions while working
together as a continuum. The fundamental essence of Fog Computing lies in its hierarchical
structures and smooth integration of virtual computing resources arranged within a layered
network which provide different services while working as a single unit. With an increase
in the number of devices in the layers, the complexity, and management of these fog nodes
increases. Algorithms which manage these Fog Nodes and route the traffic efficiently need
to be investigated, and new and more efficient algorithms must be produced. The topology
48
configurations of different Fog Computing nodes also need to be tested to determine the
• Incorporating Search Engine like capabilities into the architecture: More research is
required to integrate search engine like capabilities into the architecture is the platforms.
With advance and faster search capabilities, information retrieval for processes such as
process monitoring, on-demand manufacturing will be much smoother compared with the
current scenario.
secure the components and networking aspects of the architecture. As the network of a
and secure data exchange. Further research is needed to incorporate distributed security
and trust factors within the layers of Fog computing, which can be achieved by Blockchain.
49
REFERENCES
[1] M. Hermann, T. Pentek and B. Otto, "Design Principles for Industrie 4.0 Scenarios," in
49th Hawaii International Conference on System Sciences (HICSS), Koloa, HI, 2016.
[2] J. Lee and B. ,. K. ,. H. Bagheri, "A Cyber-Physical Systems architecture for Industry,"
[3] M. O. Gokalp, K. Kayabay, M. A. Akyol, P. E. Eren and A. Koçyiğit, ""Big Data for
[4] M. Parto, "A SECURE MTCONNECT COMPATIBLE IOT PLATFORM FOR," Georgia
[5] M. Tao, X. Hong, C. Qu, J. Zhang and W. Wei, "Fast Access for ZigBee-enabled IoT
devices using Rasberry Pi," in 2018 Chinese Control and Decision Conference , Shenyang
, China, 2018.
[6] W. Kim and M. Sung, "OPC-UA Communication Framework for PLC-Based Industrial
Protocols for Internet of Things," ACM Comput. Survey, vol. 1, no. 1, p. 30, 2019.
[8] A. Cohen, "A performance analysis of the sockets direct protocol (SDP) with asynchronous
[10] "Apache kafka - ADistributed streaming platform," Apache Software Foundation, 2017.
[13] M. Essers and T. Vanekar, "Evaluating a data distribution service system for dynamic
[14] M. Ryll and S. Ratchev, "Application of the Data Distribution Service for Flexible
[15] I. Ungurean, N. Gaintan and V. Gaitan, "An IoT architecture for things from Industrial
2014.
[16] L. Zhang, Y. Luo, F. Tao, B. Li, L. Ren, X. Zhang, H. Guo, Y. Cheng, A. Hu and Y. Liu,
[18] F. Ning, W. Zhou, F. Zhang, Q. Yin and X. Ni, ""The architecture of cloud manufacturing
Computing," IEEE Transactions on Parallel and Distributed Systems, vol. 22, no. 6, pp.
[20] M. Armbrust, A. Fox, R. Griffith and A. Joseph, "A View of Cloud Computing,"
Communications of the ACM, vol. 53, no. 4, pp. 50-58, April 2010.
https://www.cisco.com/c/dam/en_us/solutions/trends/iot/docs/computing-overview.pdf.
[22] S. Sarkar, S. Chatterjee and S. Misra, ""Assessment of the Suitability of Fog Computing in
the Context of Internet of Things"," IEEE Transactions on Cloud Computing, vol. 6, pp.
46-59, 2018.
[23] L. Gonzalez and L. Rodero-Merino, "“Finding your Way in the Fog: Towards a
https://www.openfogconsortium.org/wp-
content/uploads/OpenFog_Reference_Architecture_2_09_17-FINAL.pdf. [Accessed 04
April 2019].
[26] F. Bonomi, R. Milito, J. Zhu and S. Addepalli, "Fog Computing and its role in the Internet
of Things," Proceedings of the first edition of the MCC workshop on Mobile Cloud
[27] S. Sarkar and S. Misra, "Theoritical modelling of fog computing : a green computing
paradigm to support IoT applications," IET Networks, vol. 5, pp. 23-29, 2015.
[28] A. Dastjerdi and R. Buyya, "Fog Computing : Helping the Internet of Things Realize Its
[29] F. Bonomi, R. Milito, P. Natarajan and J. Zhu, "Fog Computing : A Platform for Internet of
Things and Analytics," in Big Data and Internet of Things : A Roadmap for Smart
[30] O. Osanaiye, S. Chen, Z. Yan, K. Choo and D. Mqhele, "From Cloud to Fog Computing :
A Review and a Conceptual Live VM Migration Framework," IEEE Access, vol. 5, pp.
8284-8300, 2017.
[31] S. Yang, "IoT Stream Processing and Analytics in the Fog," IEEE Communications
[32] Y. Simhan, "Big Data and Fog Computing," CoRR, p. abs/1712.09552, 2017.
53
[33] H. Atlam, R. Walters and G. Wills, "Fog Computing and the Internet of Things : A
[34] L. Vaquero and L. Rodero-Merino, "Finding your Way in the Fog : Towards a
[36] M. Aazam and E.-n. Huh, "Fog Computing and Smart Gateway Based Communication for
[37] C. Nandyala and H.-K. Kim, "From Cloud to Fog and IoT- Based Real -Time U-Healthcare
monitoring for Smart Homes and Hospitals," Internation Journal of Smart Homes , vol. 10,
[38] Y. Cao, P. Hou, D. Brown, J. Wang and S. Chen, "Distributed Analytics and Edge
intelligence : pervasive Health Monitoring at the Era of Fog Computing," Mobidata ' 15
[39] L. Gu, S. Guo, A. Barnawi and Y. Xiang, "Cost Efficient Resource management in Fog
[41] L. Li, K. Ota and M. Dong, "Deep Learning for Smart Industry : Efficient Manufacture
inspection System with Fog Computing," IEEE Transactions onIndustrial Informatics, vol.
[42] N. Verba, K.-M. Chao, J. Lewandowski, N. Shah and F. Tian, "Modelling Industry 4.0
based fog computing environments for application analyis and deployement," Future
[43] N. Verba, K.-M. Chao, A. James and J. ,. F. ,. X. Lewandowski, "Graph Analysis of Fog
Computing based efficient IoT scheme for the Industry 4.0," in 2017 IEEE International
Placement Strategy for Fog Infrastructure," in IEEE 1st International Conference on Fog
Machines to Enable the Digital Thread in Product Lifecycle Management," North Carolina
2019.
[48] A. Yousefpour and e. al., "All one needs to know about fog computing and related edge
abs/1808.05283, 2019.
Machines to Enable the Digital Thread in Product Lifecycle Management," North Carolina
https://docs.docker.com/v17.09/engine/reference/builder/#dockerfile-examples. [Accessed
29 5 2019].
[Accessed 29 5 2019].
29 5 2019].
[53] H. kahan, "Docker compose with Node.js and MongoDB," Medium Inc., 3 December
[54] T. Darwish and K. Abu Bakar, "Data, Fog Based Intelligent Transportation Big Data
2018.
[55] S. Ray, Y. Jin and A. Raychowdhury, "The Changing Computing Paradigm With Internet
of Things: A Tutorial Introduction.," IEEE Design & Test, 33, 76-96., pp. 76-96, 2016.
[56] P. Wang, R. Gao and Z. Fan, "Cloud Computing for Cloud Manufacturing:Benefits and
Limitations," Journal of Manufacturing Science and Engineering, vol. 137, no. 4, 2015.
[58] A. Morgan, "The Modern Application Stack - Part 2 : Using MongoDB with Node.js,"
https://www.mongodb.com/blog/post/the-modern-application-stack-part-2-using-mongodb-