AN EVALUATION OF HOW EDGE COMPUTING IS ENABLING THE OPPORTUNITIES FOR INDUSTRY 4.0 - DIVA

Page created by Joyce Ray
 
CONTINUE READING
AN EVALUATION OF HOW EDGE COMPUTING IS ENABLING THE OPPORTUNITIES FOR INDUSTRY 4.0 - DIVA
An evaluation of how edge computing is enabling
the opportunities for Industry 4.0
With a focus on the Crosser edge computing platform

Wictor Svensson

Thesis - Institution of Information Systems and Technology
Main field of study: Computer Engineering
Credits: 300
Semester, year: Spring, 2020
Supervisor: Stefan Forsström, stefan.forsstrom@miun.se
Examiner: Tingting Zhang, tingting.zhang@miun.se
Course code/registration number: DT005A
Degree programme: Master of Science in Engineering
An evaluation of how edge computing is enabling the opportunities
for Industry 4.0 - with a focus on the Crosser edge computing platform
Wictor Svensson                                              2020-06-12

Abstract
Connecting factories to the internet and enable the possibilities for these
to autonomously talk to each other is called the Industrial Internet of
Things(IIoT) and is mentioned as Industry 4.0 in the terms of the indus-
trial revolutions. The machines are collecting data through very many
different sensors and need to share these values with each other and the
cloud. This will make a large load to the cloud and the internet, and the
latency will be large. To evaluate how the workload and the latency can be
reduced and still get the same result as using the cloud, two different sys-
tems are implemented. One which uses cloud and one which using edge
computing. Edge computing is when the processing of the data is decen-
tralized to the edge of the network. This thesis aims to find out ”When
is it more favorable to use an edge solution and when is it to prefer a
cloud solution”. The first system is implemented with an edge platform,
Crosser, the second system is implemented with a cloud platform, Azure.
Both implementations are giving the same outputs but the differences is
where the data is processed. The systems are measured in latency, band-
width, and CPU usage. The result of the measurements shows that the
Crosser system has less latency, using smaller bandwidth but is needing
more computational power of the device which is on the edge of the net-
work. The conclusion of the results is that it depends on the demands of
the system. Is the demands that it should have low latency and not using
much bandwidth Crosser is to prefer. But if a very heavy machine learn-
ing algorithm is going to be executed in the system and the latency and
bandwidth size is not a problem then the Cloud Reference System is to
prefer.

Keywords: Industrial Internet of Things, Industry 4.0, Crosser, Edge com-
puting, Cloud computing.

                                     ii
An evaluation of how edge computing is enabling the opportunities
for Industry 4.0 - with a focus on the Crosser edge computing platform
Wictor Svensson                                              2020-06-12

Acknowledgments
I am grateful for the help I have gotten from Knowit, specifically from
Kristin and Tim which have acted as my supervisors, have been engaged,
had regular meetings every week and supported me through the whole
thesis.

I would also like to thank Crosser who have let me use their platform
and been giving me support when I have had questions.

At last, I like to thank SCA for providing me data from their sawmill which
has been used to make the scenario more realistic.

                                    iii
An evaluation of how edge computing is enabling the opportunities for
Industry 4.0 - with a focus on the Crosser edge computing platform
Wictor Svensson                                              2020-06-12

Table of Contents
Abstract                                                                                                       ii
Acknowledgments                                                                                               iii
Table of Contents                                                                                             vi
Terminology                                                                                                   ix
1 Introduction                                                                                                 1
1.1 Background and problem motivation             .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    1
1.2 Overall aim . . . . . . . . . . . . . . .     .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    2
1.3 Concrete and verifiable goals . . . . .       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    3
1.4 Scope . . . . . . . . . . . . . . . . . . .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    3
1.5 Outline . . . . . . . . . . . . . . . . . .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    4
2 Theory                                                                                                       5
2.1 Internet of things . . . . . . . . . . . . . . . . . . . . . . . . . . .                                   5
2.2 Industrial internet of things . . . . . . . . . . . . . . . . . . . . .                                    7
2.2.1 Automation control protocols . . . . . . . . . . . . . . . . . .                                         8
2.2.2 Architecture connected factories . . . . . . . . . . . . . . . . .                                       9
2.2.3 Industry 4.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                                   9
2.3 Edge computing . . . . . . . . . . . . . . . . . . . . . . . . . . . .                                    10
2.3.1 Fog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                                 11
2.3.2 Mist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                                12
2.3.3 MEC (Multi-Access Edge Computing) . . . . . . . . . . . . .                                             12
2.4 Machine learning . . . . . . . . . . . . . . . . . . . . . . . . . . .                                    12
2.4.1 Decision tree . . . . . . . . . . . . . . . . . . . . . . . . . . . .                                   13
2.5 Related work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                                  14
2.5.1 A fog computing industrial cyber-physical system for em-
      bedded low-latency machine learning Industry 4.0 applications                                           14
2.5.2 Ultra-Low latency cloud-fog computing for industrial inter-
      net of things . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                                 15
2.5.3 Hierarchical fog-cloud computing for IoT systems: a compu-
      tation offloading game . . . . . . . . . . . . . . . . . . . . . . .                                    16
3 Methodology                                                                                                 18
4 Choice of edge computing solution                                                                           21
4.1 Microsoft Azure IoT Edge . . . . . . . . . . . .                  .   .   .   .   .   .   .   .   .   .   21
4.2 Amazon Web Services FreRTOS & Greengrass                          .   .   .   .   .   .   .   .   .   .   21
4.3 Cisco Fog Computing . . . . . . . . . . . . . .                   .   .   .   .   .   .   .   .   .   .   22
4.4 Nebbiolo Technologies . . . . . . . . . . . . . .                 .   .   .   .   .   .   .   .   .   .   23
4.5 FogHorn . . . . . . . . . . . . . . . . . . . . . .               .   .   .   .   .   .   .   .   .   .   23
                                       iv
An evaluation of how edge computing is enabling the opportunities
for Industry 4.0 - with a focus on the Crosser edge computing platform
Wictor Svensson                                              2020-06-12

4.6 Crosser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                                 24
4.7 Motivation of choice . . . . . . . . . . . . . . . . . . . . . . . . .                                    25
5 Implementation                                                                                              27
5.1 General approach . . . . . . . . . . . . . . . . .                .   .   .   .   .   .   .   .   .   .   27
5.1.1 Sensor data . . . . . . . . . . . . . . . . . . .               .   .   .   .   .   .   .   .   .   .   27
5.1.2 Pre-processing . . . . . . . . . . . . . . . . .                .   .   .   .   .   .   .   .   .   .   28
5.1.3 Machine learning . . . . . . . . . . . . . . . .                .   .   .   .   .   .   .   .   .   .   28
5.1.4 Visualization . . . . . . . . . . . . . . . . . .               .   .   .   .   .   .   .   .   .   .   29
5.1.5 Storage . . . . . . . . . . . . . . . . . . . . . .             .   .   .   .   .   .   .   .   .   .   29
5.2 Crosser system . . . . . . . . . . . . . . . . . .                .   .   .   .   .   .   .   .   .   .   30
5.2.1 Edge node . . . . . . . . . . . . . . . . . . . .               .   .   .   .   .   .   .   .   .   .   30
5.2.2 Azure IoT Hub and Stream Analytics . . . .                      .   .   .   .   .   .   .   .   .   .   32
5.3 Cloud reference system . . . . . . . . . . . . .                  .   .   .   .   .   .   .   .   .   .   32
5.3.1 Gateway . . . . . . . . . . . . . . . . . . . . .               .   .   .   .   .   .   .   .   .   .   33
5.3.2 Azure IoT Hub and Azure Stream Analytics                        .   .   .   .   .   .   .   .   .   .   33
5.3.3 Azure Machine Learning Services . . . . . .                     .   .   .   .   .   .   .   .   .   .   33
5.4 Measurement arrangement . . . . . . . . . . .                     .   .   .   .   .   .   .   .   .   .   34
5.4.1 Packet size . . . . . . . . . . . . . . . . . . . .             .   .   .   .   .   .   .   .   .   .   34
5.4.2 Round trip time . . . . . . . . . . . . . . . . .               .   .   .   .   .   .   .   .   .   .   34
5.4.3 Computational power . . . . . . . . . . . . .                   .   .   .   .   .   .   .   .   .   .   35
6 Results                                                                                                     36
6.1 Packet size . . . . . . . . . . . . . . . .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   36
6.1.1 Crosser system . . . . . . . . . . . .      .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   36
6.1.2 Cloud reference system . . . . . . .        .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   36
6.2 Round trip time (RTT) . . . . . . . . .       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   37
6.2.1 Crosser system . . . . . . . . . . . .      .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   37
6.2.2 Cloud reference system . . . . . . .        .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   37
6.3 Computational power (CPU usage) .             .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   38
6.3.1 Crosser system . . . . . . . . . . . .      .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   39
6.3.2 Cloud reference system . . . . . . .        .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   40
6.4 Front-end result . . . . . . . . . . . . .    .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   41
6.5 Analysis of the measurement results .         .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   42
6.5.1 Packet size . . . . . . . . . . . . . . .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   42
6.5.2 Round trip time (RTT) . . . . . . . .       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   42
6.5.3 Computational usage (CPU usage)             .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   43
6.5.4 Comparison to related work . . . .          .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   44

                                        v
An evaluation of how edge computing is enabling the opportunities
for Industry 4.0 - with a focus on the Crosser edge computing platform
Wictor Svensson                                              2020-06-12

7 Conclusions                                                                 46
7.1 Future work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   48
7.2 Ethical considerations . . . . . . . . . . . . . . . . . . . . . . . .    49
References                                                                    51
Appendix A Time plan                                                          56
Appendix B Decision tree                                                      58

                                       vi
An evaluation of how edge computing is enabling the opportunities
for Industry 4.0 - with a focus on the Crosser edge computing platform
Wictor Svensson                                              2020-06-12

Terminology
     Acronyms

     AI                    Artificial Intelligence

     ANN                   Artificial Neural Networks

     AR                    Application Relationship

     CF-IIoT               Cloud-fog integrated IIoT

     CIP                   Common Indstrial Protocol

     CoAP                  Constrained Application Protocol

     CPS                   Cyber Physical Systems

     CPU                   Central Processing Unit

     CR                    Communication Relationship

                           European Telecommunications
     ETSI
                           Standards Institute

     ERP                   Enterprise Resource Planning

     Ethernet/IP           Ethernet/Industrial Protocol

     HTTP                  Hypertext Transfer Protocol

     IIC                   Industrial Internet Consortium

     IIoT                  Industrial Internet of Things

     IoT                   Internet of Things

                                  vii
An evaluation of how edge computing is enabling the opportunities
for Industry 4.0 - with a focus on the Crosser edge computing platform
Wictor Svensson                                              2020-06-12

     IP                    Internet Protocol

     M2M                   Machine-to-Machine

                           Multi-Access Edge Computing (earlier:
     MEC
                           Mobile Edge Computing)

     ML                    Machine Learning

                           Message Queuing Telemetry Transport
     MQTT
                           Protocol

     NFC                   Near Feild Communications

     ODVA                  Open DeviceNet Vendors Association

     OPC-UA                OPC-Unified Architecture

     OT                    Operational Technology

     PCA                   Principal Component Analysis

     PI                    Profibus International

     PLC                   Programmable Logic Controller

     PLS                   Partial Least Squares

     QoE                   Quality of Experience

     QoS                   Quality of Service

                           Real-Coded Genetic Algorithm for
     RCGA-CO
                           Constrained Optimization problem

                                 viii
An evaluation of how edge computing is enabling the opportunities
for Industry 4.0 - with a focus on the Crosser edge computing platform
Wictor Svensson                                              2020-06-12

     RFID                  Radio-FrequencyIDentification

     RTT                   Round Trip Time

     SDK                   Software Development Kit

     SSL                   Secure Sockets Layer

     SQL                   Structured Query Language

     TCP                   Transmission Control Protocol

     TLS                   Transport Layer Security

     UDF                   User Defined Function

     UDP                   User Datagram Protocol

     VM                    Virtual Machine

                           Wireless Identification and Sensing
     WISP
                           Platforms

     WSAN                  Wireless Sensor and Actuator Networks

                                  ix
An evaluation of how edge computing is enabling the opportunities
      for Industry 4.0 - with a focus on the Crosser edge computing platform
      Wictor Svensson                                             2020-06-12

1. Introduction
      Internet of Things (IoT) is getting more and more common in our so-
      ciety. Where almost everything around the human is predicted to be
      connected to the internet in the year 2025. This could be such things as
      food packages, furniture’s, paper documents et cetera.[1]

      Industrial Internet of Things (IIoT) is when IoT is implemented in the
      industries. This is said to be revolutionary, since machines would be
      able to talk with each other without any human interaction. IIoT will
      be useful in many different industries and there are examples of when
      IIoT have minimized the loss in the factory and thereby increased the
      economic gain.[2] Using IIoT would also enhance the working condi-
      tions for workers. For example it would be possible to have unmanned
      vehicles in industries where it could be dangerous for workers to be.
      This could be in mines where unstable shafts can collapse, by using
      IIoT these machines could be autonomous and if Machine Learning also
      is implemented it is possible to predict when a collapse is near to
      occur.[3]

1.1   Background and problem motivation
      Since the beginning of industries the term industrialization has been
      used. The industrializations which have occurred are categorized in
      different industrial revolutions. So far there have been three industrial
      revolutions which include the first revolution, mechanization, which
      were when machines first came. The second, electrical energy, when
      the electricity where introduced. The third, digitalization, when micro-
      controllers and computers were introduced. The industrial revolution
      which comes next is called Industry 4.0 and includes connecting ma-
      chines to the internet and make these communicate with each other.[4]

      IIoT can be implemented in many different industries. For exam-
      ple it could be implemented in the Forest Products Industry. The market
      of forest products is making demands of maximizing the value of the
      resources, therefore measurements of water in wood, moisture content,
      and wood combustion is important. By implementing sensors in the
      industry it will help to fulfill these demands.[5]

                                         1
An evaluation of how edge computing is enabling the opportunities
      for Industry 4.0 - with a focus on the Crosser edge computing platform
      Wictor Svensson                                             2020-06-12

      Using Machine Learning in the industries can help to identify when
      a fault has occurred or even predict a fault before it occurs. There are
      many different methods when it comes to using machine learning. The
      two main categories of the methods are supervised- and unsupervised
      learning. Both these methods could be favorable to use in industries
      depending on use case.[6]

      Combining IIoT and machine learning will take Industry 4.0 closer.
      But some challenges need to be solved before this is possible. Con-
      necting the industries to the internet will include connecting millions
      of sensors to the internet. These sensors send out multiple values at
      each second which would be problematic. Since sending all of these
      values to the cloud would take very much bandwidth, which is creating
      latency problems. The data which often are generated are also sensitive
      and it is, therefore, a risk with having it analyzed in the cloud.

      A solution for this could be fog- or edge computing. Fog- and Edge
      computing is almost the same and can be described as a platform that
      is introduced at the edge of the network, at a gateway for example.
      The edge platform could then process, analyze, or even act on the edge
      of the network. The benefits of edge computing is that it improves
      performance and data privacy, the data security is getting higher and it
      reduces economic costs.[7]

1.2   Overall aim
      The overall aim of this project is to investigate how an edge solution
      performs compared to a cloud solution. The aim is also to examine
      how the edge solution can minimize latency and bandwidth but still
      not need heavy computational power. The contribution of this thesis
      will be to present when each system is to prefer. The impact will be
      that this thesis will make the differences between edge computing and
      cloud computing more clear, which helps in the choice of choosing
      different solutions for implementing IoT in the industries. The impact
      will thereby also be to take a step closer to Industry 4.0

      The research question of this project is: When is it more favorable to
      use an edge solution and when is it to prefer a cloud solution?

                                         2
An evaluation of how edge computing is enabling the opportunities
      for Industry 4.0 - with a focus on the Crosser edge computing platform
      Wictor Svensson                                             2020-06-12

1.3   Concrete and verifiable goals
      The concrete and verifiable goals are divided into four goals where the
      second goal has three sub-goals. The goals are listed below.

        1. Examine different Edge solutions based on functions, usability,
           and capacity needed to run it. Choose one of them

        2. Implement the two systems

            2.1. Implement the chosen edge platform on a Raspberry Pi
            2.2. Implement a cloud solution on one of the bigger cloud
                 service providers platform
            2.3. Implement a machine learning algorithm for classification
                 depending on the sensor values, for both systems

        3. Measure the differences in latency, bandwidth needed and com-
           putational usage

        4. Evaluate in terms of the measurements when which system is to
           recommend

1.4   Scope
      The scope of the project is to set up an edge node which is executing
      a machine learning algorithm to analyze the data which are received
      and then send the data for storage at a cloud solution. The scope
      is also to set up a system that is not using an edge node but just a
      cloud solution with the same functionality as the edge solution and
      then evaluate the differences between these two different solutions. The
      scope is to measure the solution considering the latency, bandwidth,
      and computational usage.

      The scope is not to develop a new edge system, but instead use
      an already existing solution for implementation. The scope would nor
      be to evaluate different cloud solutions, their functionalities, or pricing.
      The scope would not be to investigate how secure the different systems
      are and which of them that is best in that aspect. The scope is neither
      to evaluate the machine learning algorithm and how the choice of the
      algorithm affects the system.

                                           3
An evaluation of how edge computing is enabling the opportunities
      for Industry 4.0 - with a focus on the Crosser edge computing platform
      Wictor Svensson                                             2020-06-12

1.5   Outline
      The rest of the report will be structured as follows; chapter two will
      explain the theory where the main topics will be IoT, IIoT, Edge
      computing and Machine Learning, this chapter also contains related
      work. Chapter three is describing the method of the project, how the
      project is going to be performed. Chapter four is describing different
      solutions for edge computing and which one that is chosen of those.
      Chapter five is describing the two different implementations and which
      parts that have been implemented in the solutions. This chapter is also
      describing how the arrangements of the measurements is implemented.
      Chapter six is presenting the result of the project, this chapter is
      presenting the result of each system and how it can be visualized for a
      front-end user. Chapter seven is concluding the project result, answering
      the goals of the thesis. The chapter also contains a discussion about
      future work and ethical considerations.

                                         4
An evaluation of how edge computing is enabling the opportunities
      for Industry 4.0 - with a focus on the Crosser edge computing platform
      Wictor Svensson                                             2020-06-12

2. Theory
      In the sub-chapters below the theory will be presented. The following
      theory parts will be explained; the Internet of Things, Industrial
      Internet of Things, Edge computing, and Machine Learning.           A
      subchapter with related work is also covered in the theory part.

2.1   Internet of things
      Internet of Things (IoT) is defined as ”connect the unconnected” by
      Hanes et al[8]. Where all objects around the human which is not
      already connected to the internet will be connected and communicate
      together. In other words, the physical world will be smarter while
      connecting them to an intelligent network.

      The age of IoT is said to have been started in the years 2008 to
      2009. During this period the number of devices connected to the
      internet went past the world population. The person how coined the
      term ”Internet of Things” where Kevin Aston when he was working at
      the company Procter & Gamle in 1999. The reason for the term was
      when he was trying to explain an idea of linking their supply chain to
      the internet.[8]

      In the beginning of IoT the considered ”things” where Radio-Frequency
      IDentification (RFID) tags. Further on things such as Near Feild Com-
      munications (NFC), Wireless Sensor and Actuator Networks (WSAN) are
      techniques which were used. In the beginning of IoT, it was also said
      that Wireless Identification and Sensing Platforms (WISP) should be vital
      to connect ”the real world with the digital world”.[1]

      Looking closer on a technological perspective, IoT consists of a three-
      layer stack. These layers are; device layer, connectivity layer, and
      IoT cloud layer. The device layer is the hardware such as sensors,
      processors, or actuators. The connectivity layer is the protocols which
      communicating from the device to the IoT cloud layer and the IoT
      cloud layer is used to communicate with the devices, store data from
      the devices and make executions.[9] The IoT technology stack can be
      seen in figure 2.1. When a device is connected using the connectivity
      layer and the IoT cloud layer it is possible to monitoring, controlling,

                                         5
An evaluation of how edge computing is enabling the opportunities
for Industry 4.0 - with a focus on the Crosser edge computing platform
Wictor Svensson                                             2020-06-12

optimize and automate the devices.[10]

                   Figure 2.1: IoT Technical Stack[10]

Many different protocols are used in the connectivity layer. Three
of the most known and common used protocols are MQTT, CoAP and
HTTP.

MQTT (Message Queuing Telemetry Transport Protocol) is an
M2M protocol that was introduced in 1999.             The protocol is a
publish/subscribe protocol, which builds on an MQTT broker which
clients are subscribing to. The clients can also publish data to the
MQTT broker. The client is either subscribing or publish to a topic
on the broker, where the topic can be seen as a sensor. A client can
subscribe to many different topics at the same. If a value is published to
the topic all the subscribers will receive the published message. MQTT
is a binary protocol that requires fixed headers of 2 bytes and the
maximum size of a packet is 256 MB. The transport protocol which is

                                    6
An evaluation of how edge computing is enabling the opportunities
      for Industry 4.0 - with a focus on the Crosser edge computing platform
      Wictor Svensson                                             2020-06-12

      used together with MQTT is TCP, where TLS/SSL is used for security.
      MQTT is also using three levels of Quality of Service (QoS), which is
      deciding the reliability level of the packet delivery.[11]

      HTTP (Hypertext Transfer Protocol) is available in two different ver-
      sions, version HTTP/1 and HTTP/2. The protocol is a request/response
      protocol, which means that either a request or a response is sent. HTTP
      is using TCP as a transport protocol where TLS/SSL is used for security.
      The difference between the two versions is that HTTP/2 supports all
      features of HTTP/1 but is more efficient in many more ways. The HTTP
      protocol is often verbose and repetitive and therefore takes unnecessary
      network traffic, which can result in latency. The most common request
      in HTTP is GET, PUT, POST and DELETE.[12]

      CoAP (Constrained Application Protocol) is as the name tells a
      protocol which is used in constrained nodes and networks. This can
      be small microcontrollers with small ROM and RAM. The protocol is
      designed for M2M and is also well fitted for low power consumption.
      CoAP is built on REST and reminds a bit of HTTP. However, CoAP is
      using UDP for transport, which is a datagram-oriented transport proto-
      col. CoAP has four different types of messages, these are Confirmable,
      Non-confirmable, Acknowledgement, and reset. The difference of these
      four messages are the reliability, since UDP is used there are not any
      acknowledgments automatically included. Therefore it is no guarantee
      that the message will be delivered.[13]

2.2   Industrial internet of things
      The vision of IIoT is that smart connected assets are operating together
      in a larger system or systems of systems. These assets can have varying
      levels of ”smartness”, where it can be from just sensing and actuating,
      to control or even that the assets are completely autonomous. The IIoT
      is said to be revolutionary, but it is more likely to be an evolution,
      where all machines in a factory would not be replaced with new smarter
      machines. Instead the already existing machines will be connected to
      the internet with different techniques and protocols.[14]

                                         7
An evaluation of how edge computing is enabling the opportunities
        for Industry 4.0 - with a focus on the Crosser edge computing platform
        Wictor Svensson                                             2020-06-12

2.2.1   Automation control protocols
        In the industries today there are many already established protocols
        that are used for control motion, synchronization, and security. These
        protocols were established a long time ago, before even Ethernet and IP
        were introduced. These protocols have been adapted to take advantage
        of new modern protocols. There are a lot of different industrial
        protocols but the most common and with largest market adoption is
        PROFINET, Ethernet/IP and Modbus/TCP.[8]

        PROFINET is managed by Profibus International(PI), the proto-
        col uses Provider/Consumer communication model, which means that
        a centralized device, the Provider, and decentralized devices, the con-
        sumers, are communicating. The provider makes data available to the
        consumer. The device can have three different classifications, these
        are IO-controller, IO-Device and IO-Supervisor. Application Relationship
        (AR) between IO-Device and IO-Controller is establishing the commu-
        nication. Communication Relationship (CR) is established after AR and
        in that moment network data traffic and alarm management is config-
        ured. The devices can after that exchange data in full-duplex mode.[15]

        Ethernet/IP (Industrial Protocol) was developed by Rockwell
        Automation and is an open standard for industrial automation. IP
        stands for ”Industrial Protocol” and not ”Internet Protocol” which is
        common to see. Common Industrial Protocol(CIP) is adapted to the
        standard Ethernet protocol.[8] CIP is a communication protocol that
        was designed by the Open DeviceNet Vendors Association(ODVA)
        organization. CIP is applied in Ethernet to make on-demand usage.
        CIP services helps to communication without any need of establish
        connection for each time.[16]

        Modbus/TCP were introduced in 1970 by the company Modi-
        con, today Schneider. Modbus is commonly used for PLCs with
        master/slave configuration. Modbus has been adapted to modern
        communication standards such as Ethernet and TCP/IP. Modbus with
        master/slave configuration is well fitted for TCP, but the protocol has
        some issues with latency.[8]

                                           8
An evaluation of how edge computing is enabling the opportunities
        for Industry 4.0 - with a focus on the Crosser edge computing platform
        Wictor Svensson                                             2020-06-12

2.2.2   Architecture connected factories
        To be able to connect many different sensors there needs to be some
        architecture framework. The design of the IIoT architecture should be
        scalable, extensible, modulable, and interoperable. There have been
        many suggestions of different IoT architectures, these different solutions
        have five, four and three layers. The International Telecommunication
        Union advocate a five-layer architecture, these layers are; sensing,
        accessing, networking, middleware and application.[17] Atzori et al.[1]
        suggests a three-layer architecture with the layers sensing layer, net-
        work layer and service layer. Liu et al. [18] describes a four-layer
        architecture with the layers; physical layer, transport, middleware, and
        applications.

        The Industrial Internet Consortium (IIC) has released a paper ”Ref-
        erence Architecture”, where they focus on the different viewpoints
        and provides models for these. The different viewpoints is Busi-
        ness Viewpoint, Usage Viewpoint, Functional Viewpoint and Implementation
        Viewpoint. The business viewpoint is how the IIoT system can achieve
        stated objectives through its mapping to fundamental system capabil-
        ities. The usage viewpoint is the requirements of the users which is
        involved in the IIoT systems with for example interactive activities. The
        functional viewpoint is the functional components in the IIoT system.
        The implementation viewpoint is dealing with the technologies that are
        needed to implement the functional components, the communication
        schemes, and the procedures of their life cycles. The four viewpoints
        are used to identify which concerns the IIoT system and their stake-
        holders have. The viewpoints makes it easy to analyze and address the
        related concerns.[19]

2.2.3   Industry 4.0
        The concept Industry 4.0 where introduces in 2011 for developing the
        German economy. Industry 4.0 is the fourth industrial revolution,
        where the first industrial revolution began in the 18th century and
        where represented by the introduction of mechanical production
        based on water and steam power. The second revolution began
        at the beginning of the 20th century and where when the mass
        production was started and electricity where introduced. The third
        industrial revolution was introduced in 1970 and where when automatic

                                            9
An evaluation of how edge computing is enabling the opportunities
      for Industry 4.0 - with a focus on the Crosser edge computing platform
      Wictor Svensson                                             2020-06-12

      production where introduced based on electricity and internet. The
      fourth industrial revolution is named industry 4.0 and is ongoing
      right now. The revolution builds on cyber-physical systems(CPS)
      production. Industry 4.0 role is to improve effectiveness and efficiency
      in the factories by using heterogeneous data and knowledge integration.
      Some techniques that are associated with industry 4.0 is RFID, IoT and
      Enterprise Resource Planning(ERP).[20]

2.3   Edge computing
      Edge computing is defined by [7] as a ”cloud computing system that
      perform data processing at the edge of the network, near the source
      of the data”, this is a very simple description of what edge computing is.

      Edge computing is when the computing infrastructure is decentral-
      ized and the computing resources and application services can be
      distributed between the cloud and data resource. The main benefits
      of edge computing is that it improve performance, data privacy and data
      security is higher and reduces costs. The edge improves the performance
      since the data can be processed, analyzed, and acts on the edge of the
      network before it sends the data to the cloud. This is much more close
      to real-time than it ever has been before when the computing was at
      the cloud. Edge computing is making it easier to make good privacy
      and security of the collected data since it is in a local network when
      processing and analyzing are taking place. The cost is automatically
      reduced since connectivity, data migration, bandwidth and latency
      features are very expensive at the cloud.[7]

      In the paper [21], W. Yu et al are describing three areas in the
      architecture of edge computing. This three areas are Front-end, Near-end
      and Far-end. Where front-end are the devices and sensors, near-end is
      the IoT gateways or local networks that connect the sensor and far-end
      is network or cloud which are used for heavy computation and storage.
      Figure 2.2 shows how these three areas can look like.

      In this thesis edge is defined as the layer between the devices and the
      cloud, on the edge of the network. This will be the same as near-end
      in figure 2.2. Many terms are closely related to edge computing, some
      of these are fog, mist, and Multi-Access Edge Computing(MEC). These

                                         10
An evaluation of how edge computing is enabling the opportunities
        for Industry 4.0 - with a focus on the Crosser edge computing platform
        Wictor Svensson                                             2020-06-12

                Figure 2.2: Front-end, near-end and far-end in IoT[21]

        will be described briefly in the sub-chapters to get a better picture.

2.3.1   Fog
        Fog computing is described as an extension to cloud computing by S.
        Yi et al[22]. Where the fog offers computation, storage, and networking
        services between the end devices and the cloud. The fog network
        should connect all devices which are at the fog together and providing
        services to the devices.

        F. Bonomi et al[23] describes fog computing as a ”highly virtual-
        ized platform that provides compute, storage and networking services
        between end devices and traditional Cloud Computing Data Centers”.
        This platform is often placed at the edge of the network, but not
        necessary. The edge should have low latency and the location of the
        edge should be aware. The fog should also be a large scale sensor
        network where it should be possible to monitor the environment. The
        applications which are interesting to be running in the fog are real-time
        applications. The fog platform should also support connectivity to the
        cloud service providers.
        Figure 2.2 which where presented in section 2.3 are showing three
        different areas. The front-end with the three circles can be defined as
        three different fog networks. In this thesis Fog and Edge computing is
        the same thing.

                                            11
An evaluation of how edge computing is enabling the opportunities
        for Industry 4.0 - with a focus on the Crosser edge computing platform
        Wictor Svensson                                             2020-06-12

2.3.2   Mist
        Mist computing is a term that is mentioned when it comes to IoT and
        the future of it. Mist computing can be described as even more closely
        than fog computing, where the guiding principles are information
        provided by the network, the information would only be delivered
        if a request has been made, dynamic creation in the network where
        subscriber/provider model should be used and the devices must find
        and discover the providers dynamically and execute the applications.

        The difference between fog/cloud computing and mist computing
        is that fog/cloud computing has awareness of the users’ needs and
        global situation, while mist only has awareness of the physical environ-
        ment and local situation. This means that the mist only know that the
        device exists and where it is but not what the application is, the mist is
        connecting the devices with other words.[24]

2.3.3   MEC (Multi-Access Edge Computing)
        When MEC first was introduced by the European Telecommunications
        Standards Institute (ETSI) it stood for Mobile Edge Computing. MEC
        which were renamed to Multi-Access Edge Computing means that the
        intelligence is extended to the edge of the network, with higher
        processing and storage capabilities.[25] Many IoT applications need
        ultra-low latency such as 1 ms and reliability high as 99.99%, this
        is where MEC is useful.[26]. MEC can be described as moving the
        computational power to the edge of mobile base stations. This makes
        the resources come closer to the users compared to when the resources
        are at a centralized data center (cloud). [27]

2.4     Machine learning
        Machine Learning can be described as finding patterns. The patterns
        are found by having some input- and output data. The ”machine” then
        learns how the pattern between the input and output relates. The step
        between input and output is where the Machine Learning takes place.
        This can be seen as a black box where it is not necessarily known how
        the computer calculates the output.[28] There are two main categories
        of Machine Learning, these are Unsupervised Learning and Supervised
        Learning.

                                           12
An evaluation of how edge computing is enabling the opportunities
        for Industry 4.0 - with a focus on the Crosser edge computing platform
        Wictor Svensson                                             2020-06-12

        Unsupervised learning is when the data does not have any given
        labels, the main goal is then to find some hidden structure of the data.
        Methods which are used during unsupervised learning in industries
        are principal component analysis, independent component analysis, k-means
        clustering, kernel density estimation, Gaussian mixture models, support vector
        data description, manifold learning and self-organizing map. Z. Ge et al
        have compared which unsupervised model that are most common in
        industries, where PCA (principal component analysis) are being used
        in 51% of the cases.[6]

        Supervised learning is different from unsupervised, where the methods
        deal with data that have labels. These labels can either be discrete
        or continuous. If the label is discrete it could be used as classes,
        if the values are continuous, regression models could be used or
        pre-processing can be used to make classes. Some of the most known
        supervised methods in the industries are principal component regression,
        partial least squares, Neural networks, artificial neural networks, support vector
        machine, decision tree, random forest and nearest neighbor. In the report
        of Z. Ge et al the most common supervised methods are PLS (partial
        least squares) and ANN (artificial neural networks). Decision trees
        are commonly used in operations where decisions are made. This is
        therefore also common in industries.[6]

2.4.1   Decision tree
        Decision tree is described by S. R. Safavian and D. Landgrebe as ”The
        basic idea involved in any multistage approach is to break up a complex
        decision into a union of several simpler decisions”. This means that a
        bigger problem is divided into many smaller steps which builds a tree
        and will hopefully solve the bigger problem. A decision tree has some
        different components, these are the following; root, nodes, edges, and
        leaves. Where the root is always exactly one with no edges enters. A
        graph consists of a set of nodes and a set of edges. A leaf is a node
        with no proper descendant. Figure 2.3 shows how a decision tree can
        look like. Where the top node is the root and the squares are leaves
        .[29]

        Each node can be seen as a rule in the tree.           The rule is an
        AND statements, where they are either True or False. If the rule is true
        it goes one way and if it is false it goes the other way. This process

                                               13
An evaluation of how edge computing is enabling the opportunities
        for Industry 4.0 - with a focus on the Crosser edge computing platform
        Wictor Svensson                                             2020-06-12

               Figure 2.3: Example of how a decision tree looks like[29]

        continues until it reaches a leaf where each leaf is the class it belongs
        to. The leaf is shown as what the decision tree predicts of the input
        value. A decision tree is easy for the human eyes to read where the
        conditions of each rule are Boolean.[28]

2.5     Related work
        In the sub-chapters below three different related works are presented.

2.5.1   A fog computing industrial cyber-physical system for em-
        bedded low-latency machine learning Industry 4.0 appli-
        cations
        P. O’donovan et al are in their article ”A fog computing industrial
        cyber-physical system for embedded low-latency machine learning Industry 4.0
        applications”[30] testing how fog (edge) performs compared to cloud
        computing. The fogs are executing machine learning models, the
        models are collected from the cloud where they have been trained and
        created.
        The tests which were made by P. O’donovan et al where stress tests. 50,

                                            14
An evaluation of how edge computing is enabling the opportunities
        for Industry 4.0 - with a focus on the Crosser edge computing platform
        Wictor Svensson                                             2020-06-12

        100, 250, and 500 number of connections where made. The maximum
        round trip time for each number of connection for each system where
        measured. This showed that the difference in the maximum time of
        the different systems where between 67.7%-99.4%. The report measure
        also how many failures there are between both systems. Where the fog
        did not have any failure and the cloud did have 0% for 50 connections,
        0.11% for 100 connections, 1.42% for 250 connections, and 6.6% for 500
        connections.

        P. O’donovan et al concludes that for adopting Industry 4.0 fog
        computing should be better since it is making decisions much faster
        than the cloud and the fog is minimizing the risk of failure compared to
        the cloud. It is also concluded that the fog has benefits for the security
        since the machine learning is executed in the physical boundaries of
        the factory.

2.5.2   Ultra-Low latency cloud-fog computing for industrial in-
        ternet of things
        C. Shi et al[31] have integrated cloud and fog computing to set up
        something called ”cloud-fog integrated IIoT”(CF-IIoT) in their article
        ”Ultra-Low Latency Cloud-Fog Computing for Industrial Internet of Things”.
        The architecture of CF-IIoT is built to satisfy low latency, the architec-
        ture builds on three layers which are cloud service layer, fog computing
        layer, and infrastructure layer. The infrastructure layer contains the
        sensors, manufacturing equipment et cetera. The role of the infrastruc-
        ture layer is to collect sensor data, manufacturing, and logistics. The
        fog layer contains multiple edge devices which do communicate with
        each other, the fog nodes are also communicating with the cloud. Most
        importantly the data should be able to be processed in the fog nodes
        which reduces the latency. The cloud service layer should store IIoT
        data, sharing global information, and be able to compute data mining.
        The paper is presenting an algorithm for optimizing the latency, which
        is called ”real-coded genetic algorithm for constrained optimization
        problem”(RCGA-CO). The algorithm is a modification of the real coded
        GA algorithm, which focuses on constrained optimization.

        The result of the CF-IIoT architecture was measured in how much
        latency cloud-computing, fog-computing, and CF-IIoT has. The result

                                           15
An evaluation of how edge computing is enabling the opportunities
        for Industry 4.0 - with a focus on the Crosser edge computing platform
        Wictor Svensson                                             2020-06-12

        is shown in figure 2.4. The result were 92.9% and 35.7% better latency
        performance than the cloud-based architecture and fog-based architec-
        ture respectively.

                               Figure 2.4: Result of [31]

        The conclusion of the paper is that with help of the CF-IIoT and
        the RCGA-CO algorithm it is possible to provide ultra-low latency but
        it could be a bit unreliable.

2.5.3   Hierarchical fog-cloud computing for IoT systems: a com-
        putation offloading game
        H. Shah-Mansour et al[32] have in their report Hierarchical Fog-Cloud
        Computing for IoT Systems: A Computation Offloading Game set up a cluster
        of fog nodes to offload a game to the fog nodes. The offload to the fog
        nodes needs to bee done efficiently since the fog nodes have limited
        computing power. The authors have implemented an algorithm and are
        testing if the QoE(Quality of Experience) is affected by offloading some
        of the computation to the fog nodes. The test are varying the amount
        of fog nodes and how it affects the QoE and the average delay. They
        are also testing how the delay is affected depending on the number of
        IoT users. If there are zero fog nodes it means that the system only
        uses the cloud service and not any fog nodes. They are also testing
        how much of the computational power which can be executed on the

                                           16
An evaluation of how edge computing is enabling the opportunities
for Industry 4.0 - with a focus on the Crosser edge computing platform
Wictor Svensson                                             2020-06-12

fog nodes and how much that is needed to be executed in the cloud
service.

The results of the tests show that if adding more fog nodes the
QoE is increasing and the delay is decreasing. The delay is also in-
creased if the number of IoT users are increasing. The result also shows
that the more fog nodes that are added the less computational power of
the cloud service is needed. It also shows that most of the time that it
is taken in the system is for computation and communication when the
system is running on many fog nodes, and when the system is running
on only the cloud service the most time is for computation and round
trip time.

The report concludes that if adding more fog nodes implemented
with the algorithm, the QoE is increasing the IoT users. The conclusion
is also that the computational time is decreasing and therefore the
system is providing a low latency computing service.

                                  17
An evaluation of how edge computing is enabling the opportunities
  for Industry 4.0 - with a focus on the Crosser edge computing platform
  Wictor Svensson                                             2020-06-12

3. Methodology
  This project thesis will be performed by a fifth-year student in computer
  science. The project will be performed together with the companies
  Knowit and Crosser. The project will contain literature studies, two
  system developments, measurements of the systems, calculations, and
  an evaluation. The project will be planned in sprints where each sprint
  is in two weeks and ends with a sprint meeting. At the sprint meeting
  the accomplishments will be presented, the meeting will also contain
  what’s to be done until the next meeting. A time plan will be planned,
  written, and followed during the thesis work. The sprints will contain;
  startup, pre-study of platform, implementing the platform, setting up
  cloud solution, implementing machine learning, implement machine
  learning on edge and cloud, make measurements of the systems, and
  put together the report. The time plan can be seen in Appendix A.

  At the beginning of the project a literature study will be performed
  to get a deeper understanding of the project. The topics which would
  be studied are IoT, IIoT, Edge Computing, Machine Learning, and how
  these topics can be combined, the literature study will be performed by
  reading research papers, books, and web pages. A study of different
  edge solution platforms is also going to be made, the study will contain
  both larger and smaller platforms on the market. The study will result
  in a written survey where each of the investigated platforms will be
  presented and one of them will be chosen. The goal Examine differ-
  ent Edge solutions based on functions, usability, and capacity needed to run it.
  Choose one of them will thereby be accomplished.

  The second goal consists of three different sub-goals which are;
  Implement the chosen edge platform on a raspberry pi, Implement a cloud so-
  lution on one of the bigger cloud service providers platform and Implement a
  machine learning algorithm for classification depending on the sensor values, for
  the both systems. An edge solution running on a raspberry pi model 3
  will first be implemented. The raspberry pi will generate and send
  values to the platform. This part fulfills the goal Implement the chosen
  edge platform on a raspberry pi. The second sub-goal Implement a cloud
  solution on one of the bigger cloud service providers platform is going to be
  configured at one of a bigger known cloud solution provider. Where
  another raspberry pi will just generate values and sends them to the
                                         18
An evaluation of how edge computing is enabling the opportunities
for Industry 4.0 - with a focus on the Crosser edge computing platform
Wictor Svensson                                             2020-06-12

cloud solution. The third and last sub-goal Implement a machine learning
algorithm for classification depending on the sensor values, for both systems will
both be implemented on the edge solution and the cloud solution. The
training of the algorithm will be executed in python with the help of
the library scikit-learn. The trained model will be executed on the edge
node in the edge solution and at the cloud solution, the model will
both be trained and executed at the cloud.

The third goal Measure the differences in latency, bandwidth, and compu-
tational usage will be accomplished by measure and calculate the two
different solutions which were implemented in the second goal. The
measurements will take into consideration how the latency, bandwidth,
and computational usage are affected in the two different solutions. The
measurements will be calculated by the network analyzing program
Wireshark, were in- and out-traffic can be seen. The latency is going to
be measured in how long time (milliseconds) it takes from the moment
when a sensor value is collected until it has been going through the
machine learning algorithm and a decision has been made(round trip
time). This can be an action which is warning if some error is on the
way to occur. The bandwidth will be measured in speed (bit/second).
The computational usage will be measured in percent(%) used of the
CPU.

The fourth goal Evaluate in terms of the measurements when which system is
recommended is accomplished by analyze and make calculations of the
measurements. The focus of the evaluation will be to evaluate which
system has the lowest latency(fastest), needs the least bandwidth, and
how much computational power needed in the processing of the data.
The evaluation will be presented with different graphs that display
how the two different systems are performing compared to each other.
The values will be carefully studied and a conclusion will be drawn of
which system that is to prefer when.

When the project has been finished a careful investigation of the
whole project will be performed. This investigation will examine if
the method where the right one to use, could there have been any
other methods and in that case, how would that method/methods
have changed the results of the project. It will also examine how the
implementations were decided to be set up, are there other ways of

                                       19
An evaluation of how edge computing is enabling the opportunities
for Industry 4.0 - with a focus on the Crosser edge computing platform
Wictor Svensson                                             2020-06-12

implementing this, would that have changed the result? The result will
be examined on the reliability of the measurements and calculations,
are the calculations and measurements reliable? At last future work and
ethical considerations of the project will be examined and presented.
This investigation will be presented in the conclusion of the project.

                                  20
An evaluation of how edge computing is enabling the opportunities
      for Industry 4.0 - with a focus on the Crosser edge computing platform
      Wictor Svensson                                             2020-06-12

4. Choice of edge computing solu-
   tion
      There are several different edge computing service providers to choose be-
      tween. There are larger companies such as Microsoft[33], Amazon[34]
      and Cisco[35] who have launched their edge solutions but there are also
      smaller companies such as Nebbiolo Technologies[36], FogHorn[37]
      and Crosser[38] which have specified their business on just edge/fog
      computing. The following sub-chapters will give a brief description of
      each solution. The solutions will be investigated on; how is the plat-
      form structured, which hardware is needed, is it possible to implement
      Machine Learning, and in which way is the platform programmed and
      developed? The last sub-chapter in this section will present which
      solution that is chosen.

4.1   Microsoft Azure IoT Edge
      Microsoft has built an edge solution, Azure IoT Edge, which is working
      together with their Azure IoT Hub. IoT Edge is a solution that moves
      some of the workload to the edge of the network. Microsoft is providing
      an edge device which is called Project Brainwave, which should be able
      to make real-time AI-calculations. However it is not mandatory to
      use Microsoft’s own hardware, a third-party hardware requires that
      it has at least 128 MB random access memory. However, this is just
      for running IoT Edge, if other functions such as machine learning and
      artificial intelligence are implemented more capacities may be needed.

      If machine learning is implemented the training of the model should be
      executed in the cloud of Azure and the model is executed locally on the
      device. Microsoft’s Azure IoT Edge is also able to work when it does
      not have any internet connection, where it can store the information
      locally and when it gets the internet back it should be able to upload
      the data to the cloud. Microsoft IoT Edge can be developed in various
      program languages, such as C, C#, Java, Node.js and Python.[33]

4.2   Amazon Web Services FreRTOS & Greengrass
      Amazon is providing two different solutions for edge computing. These
      two are FreeRTOS and Greengrass.[34]
                                         21
An evaluation of how edge computing is enabling the opportunities
      for Industry 4.0 - with a focus on the Crosser edge computing platform
      Wictor Svensson                                             2020-06-12

      Amazon FreeRTOS is an operating system which is open source.
      This operating system is suited for microcontroller. With FreeRTOS
      it is easy to program, deploy, secure, manage, and connect the edge
      device. Since FreeTROS is an open-source operating system it is free
      to use. The operating system is provided with everything needed to
      program the microcontrollers, it is also provided with different libraries
      for connectivity which makes it possible to connect to other edge
      devices, AWS IoT Core (Amazon’s IoT solution) and through Bluetooth
      to mobile devices.[39]

      Amazon Greengrass is an edge solution that extends the AWS ser-
      vice to an edge device. The function of the edge device can be to
      aggregate or filter data, the solution can also execute predictions based
      on machine learning models. The edge device can even talk with
      connected devices if it missing connection to the cloud service, and
      when it gets the connection back it sends the data to the cloud.[40]

      Amazon Greengrass requires hardware with at least 1GHZ of compute,
      either Arm or x86 CPU and 128 MB of random access memory. This
      is the ”at least” requirement, if more advanced functions are executed
      it may require better hardware. It is possible to run machine learning
      on Greengrass, the model is optimized with Amazon SageMaker Neo
      and then store it in a S3 bucket. Greengrass can then use the S3
      bucket to deploy the optimized model. Amazon Greengrass supports
      lambda functions in the following languages; Python 2.7 and 3.7, Node
      v8.10 and v12.x, Java 8, C, C++ and any language which supports
      C-libraries.[41]

4.3   Cisco Fog Computing
      Cisco Fog Computing solutions include connecting IoT devices, secures
      the transport of the data between the edge of the network to the cloud,
      is easily developed and deployed fog applications, and simplified man-
      agement of a large number of fog nodes.

      Cisco is providing everything that is needed to build a fog computing
      solution. This are products such as network connectivity, physical and
      cybersecurity, fog application, data analytics, and management. The

                                         22
An evaluation of how edge computing is enabling the opportunities
      for Industry 4.0 - with a focus on the Crosser edge computing platform
      Wictor Svensson                                             2020-06-12

      fog application can be executed on Cisco routers, switches, cameras,
      wireless access points, and Cisco Unified Computing System servers.
      Cisco fog application is hosted by the cisco operating system Cisco IOx,
      this operating system makes it possible to create the fog infrastructure.
      The applications are developed in the cloud and then deployed to the
      fog nodes. This makes it possible to run the same application on many
      different edge nodes.[35] Cisco fog computing does not write anything
      about how their system can be combined with machine learning and
      therefore the conclusion is that this is not possible.

4.4   Nebbiolo Technologies
      Neibbiolo Technologies platform consist of three different platform
      components. These components are; fogNode, fogOS and fogSM. The
      platform is a complete solution which are minimizing the gap between
      the cloud and the devices.[36]

      FogNode is the hardware that the Nebbiolo Software Platform can
      be deployed on. The requirements is that it either have Intel x86 CPUs
      or ARM CPU.[42] FogOS is the operating system that is running on
      the fogNodes. This operating system can be hosted in either a Docker
      Container Environment or a Windows VM.[43] FogSM is an interface
      and system manager. Where the nodes are programmed before the
      program is deployed to the nodes.

      The nodes are programmed with the help of different modules which
      are building a data processing pipeline or more complex pipelines such
      as CEP pipelines. These modules are drag and dropped to a work
      area where they are configured and connected to each other, this is
      plug and play. Many different modules contain input stream, output
      stream, and analyzing. Some of the analyzing modules are applying
      machine learning. The different output modules are HTTP Post, Alert
      and influxDB.[44]

4.5   FogHorn
      FogHorn Lightning is a platform that is close to the source of streaming
      sensor data. The platform focuses on low latency, real-time analytics,
      and machine learning/artificial intelligence. The platform is developed
      specifically for IIoT and industrial edges. Thereby this system should be

                                         23
An evaluation of how edge computing is enabling the opportunities
      for Industry 4.0 - with a focus on the Crosser edge computing platform
      Wictor Svensson                                             2020-06-12

      simplifying the interoperability with existing OT systems. The platform
      is detecting events in real-time without any need of connecting to a
      cloud. FogHorn is reducing machine learning model sizes and it is also
      possible to import existing models. It can also execute neural nets with
      the same result as if it were executed in the cloud, which is favorable
      in for example video analytics.[37]

      Foghorn has a small footprint of 256MB and can, therefore, be
      implemented at third party devices with at least this memory. Foghorn
      also ”edgifies” machine learning models, which means that it is pos-
      sible to use machine learning at the edge. Foghorn supports models
      such as Spark ML, Python, and R Studio. Foghorn has its own
      program language which is called VEL, the platform is set up by using
      this programming language. Foghorn are describing the language as
      ”Pythonic, SQL-ish, English reading-like language” [45]

4.6   Crosser
      Crosser consists of two components, Crosser Cloud and Crosser Node.
      The Crosser cloud is where the designing of the edge solution is
      developed. The cloud can either be hosted by Crosser or at a private
      cloud. The Crosser node is the real-time engine which runs on the edge
      of the network.[38]

      The Crosser node is deployed in a Docker container and runs on
      any Windows, Linux, or Unix server or gateway. The device needs only
      100MB and fits at the most CPU’s. The node can scale up to 100.000
      messages per second in memory processing.[46]

      Crosser is built on building flows, this is done by ”drag and drop”-
      programming, where modules are used. At the Crosser cloud there is a
      Flow Studio where the flows are designed with the help of the modules
      and then deployed to the Crosser node. There are three main types of
      modules, Collectors, Compute, and Action. The collector module col-
      lects values from the sensor through OPC-UA, MQTT, HTTP, or other
      protocols. The Compute modules are making computations on the
      data, this can be such as filtering, aggregating, and machine learning.
      Action modules can either send values to a cloud service provider, talk
      back to the sending sensor or talk with other sensors at the network [47]

                                         24
An evaluation of how edge computing is enabling the opportunities
      for Industry 4.0 - with a focus on the Crosser edge computing platform
      Wictor Svensson                                             2020-06-12

      Right now there is no pre-programmed machine learning module,
      but there is a python module that makes it possible to bring, manage
      and deploy own made machine learning models in python. This makes
      it possible to use several different ML frameworks such as TensorFlow,
      Keras, Scikit-learn, PyTorch, and so on. It is possible to upload
      pre-trained ML models to the node and then easily refer to these when
      the flow is built.[48]

4.7   Motivation of choice
      Almost all of the products are providing similar functionalities. The
      product which are most divergent from the other is Cisco fog computing
      which needs Cisco products to be able to run and they are not tell
      anything about how machine learning can be implemented in their
      system. By the other products four of five can run on at least 128
      MB Intel x86 cpu or ARM cpu, FogHorn however can only run on
      256 MB CPU. The four products which are left are almost equally,
      there are some differences in how the customer is implementing and
      developing on the platform. Azure IoT Edge and Amazon Greengrass can
      both be implemented in standard programming languages such as Java,
      C, Node.js or python. Neibbiolo Technologies and Crosser is implemented
      with flow programming and pre-programmed modules. In table 4.1 it
      is possible to see specifications about the different products.

      The product which is chosen for this thesis is Crosser. Since Crosser is
      easy to implement and has pre-programmed modules which makes it
      easier to focus on implementing important functionality of the system.
      This also gives more time to implementing good filtering, aggregation,
      and machine learning, instead of implementing MQTT brokers and
      similar advanced functionalities. Crosser also provides big opportuni-
      ties to implement self-made machine learning models through their
      Python module, which works as a normal python script. This is a big
      benefit since many machine learning libraries are implemented with
      Python. Compared to Neibbolo Technologies, Crosser offer a bigger
      range of output modules. Where they have many different modules for
      connectivity to different cloud service providers.

                                        25
You can also read