AN EVALUATION OF HOW EDGE COMPUTING IS ENABLING THE OPPORTUNITIES FOR INDUSTRY 4.0 - DIVA
←
→
Page content transcription
If your browser does not render page correctly, please read the page content below
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