일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 3D프린터입문
- 3D 프린터 용어
- kubernetes
- octoprint
- linux job
- 코틀린개발환경
- Notification
- 네이버클라우드
- 데이터 직렬화 포맷
- nas
- data serialization formats
- OnlineIDE
- Kotlin
- Jenkins
- 3d프린터 초보
- 3D모델링
- IoTNetwork
- 3D프린터
- C언어
- docker
- Token인증방식
- 3D프린터 입문
- 리눅스 파일동기화
- git
- docker container
- 3D
- github
- ci/cd
- gitlab
- NAS HDD교체
- Today
- Total
0과 1을 공부하다.
[IoT] 에지컴퓨팅(Edge computing)과 사물인터넷(IoT) 융합의 필요성 (IoT Architecture 관점에서) 본문
[IoT] 에지컴퓨팅(Edge computing)과 사물인터넷(IoT) 융합의 필요성 (IoT Architecture 관점에서)
Developer_Jay 2022. 1. 1. 12:372.1 서론
최근 과학 기술의 발전은 급속도로 성장하고 있다. 물론 이전에도 과학 기술의 발전은 지속적으로 이뤄지고 있었지만 최근 가정, 직장, 공공기관 등에서의 업무효율 증대와 삶의 질 향상을 돕는 기술이 등장함에 따라 체감상 더욱 빠르게 발전하고 있는 것으로 느껴진다. 이러한 과학 기술의 발전에 따른 업무 효율 증대와 삶의 질 향상은 IoT 기술이 공헌했다고 생각한다.
IoT 기술이 발전한 만큼 IoT에서 사용되는 센서 데이터와 처리를 보조하기 위한 데이터의 양은 광범위하게 증가하게 되었고, 광범위한 데이터를 적시적인 순간(Real-Time)에 처리하여 제공해야 하는 과제에 직면하게 된다. 기존의 데이터 처리 방식은 클라우드(Cloud)를 통해 데이터를 저장하고 처리하는 구조로 이뤄졌으나, 광범위한 IoT 기기와 데이터로 인해 클라우드가 과부하되는 문제가 발생하게 된다. 이를 해결하기 위한 방법으로 에지 컴퓨팅(Edge Computing) 방식이 등장하게 된다.
본 2장에서는 에지 컴퓨팅(Edge Computing)과 사물인터넷 융합의 필요성이 요구되는 이유를 IoT의 Architecture 관점에서 설명하고 필자가 개인적으로 진행하고 있는 스마트홈 프로젝트를 예시로 들어 에지 컴퓨팅의 필요성에 대해 설명하겠다.
2.2 용어 및 개념 정리
(1) Edge Computiong
에지 컴퓨팅(edge computing)은 응답 시간을 개선하고 대역폭을 절약하기 위해 필요한 곳에 연산과 데이터 스토리지를 도입하는 분산 컴퓨팅 패러다임의 하나이다[13]. IoT 시스템에서 발생한 Sensing Data는 많은 데이터가 발생하게 되고 이를 처리하고 저장하기 위해 Cloud를 이용하게 되면 네트워크의 대역폭을 초과하게 되고 프로세서의 과부하를 야기하게 된다. 이를 해결하기 위해 데이터가 Cloud에 도달하기 이전에 네트워크상 에지상에 에지 컴퓨터(Edge Computer)를 배치시켜 연산과 데이터 저장을 수행한다. 데이터 처리와 저장을 분산함으로써 더 나은 응답 시간과 전송 속도를 가능케 한다.
(2) Cloud Computing
클라우드 컴퓨팅(cloud computing)은 사용자의 직접적인 활발한 관리 없이 특히, 데이터 스토리지(클라우드 스토리지)와 컴퓨팅 파워와 같은 컴퓨터 시스템 리소스를 필요 시 바로 제공(on-demand availability)하는 것을 말한다. 일반적으로는 인터넷 기반 컴퓨팅의 일종으로 정보를 자신의 컴퓨터가 아닌 클라우드에 연결된 다른 컴퓨터로 처리하는 기술을 의미한다[14]. 즉, 기존의 패러다임과 다르게 자원을 가상화하여 데이터 스토리지 뿐만 아니라 데이터 자원(컴퓨터 네트워크, 데이터베이스, 스토리지, 서비스, AI )을 제공하는 특징을 가지고 있다.
(3) IoT Architecture
IoT의 Architecture는 크게 Sensing, Network, Data Processing, Application 4단계로 구분하여 분류 할 수 있다[15]. 분류된 각 계층에 대한 설명은 아래 [표 5]과 같다.
계 층 | 내 용 |
Sensing Layer |
|
Network Layer |
|
Data Processing Layer |
|
Application Layer |
|
2.3 IoT와 Edge Computing의 융합 필요성이 요구되는 이유
앞서 Edge Computing에 대해 간략하게 알아본 것처럼 IoT에 Edge Computing이 융합되면 데이터 처리 및 전송이 분산화 되어 처리속도, 전송속도, 보안성 향상을 기대할 수 있다. IoT의 특성상 자율 주행 차량, 스마트홈, 스마트시티, 스마트팩토리, 웨어러블 등 다양한 분야에서 사용되는데 특히 스마트시티와 산업분야, 특히 CPS 분야에서의 IoT는 사용자가 내리는 Command 수행을 반드시 정해진 시간에 수행해야 하는 Rea-Time이 강조된다[16]. 이때 cloud와 IoT 기기 사이에서 Edge Computer가 데이터 처리과정을 수행하여 빠른 응답시간과 높은 전송 대역폭, 네트워크가 유실된 환경에서의 가용성을 보장하게 된다.
2.3 IoT와 Edge Computing의 필요성이 요구되는 이유에서는 2.2 용어 및 개념정리에서 정리한 IoT Architecture를 바탕으로 Edge Computing이 각 계층에 미치는 영향에 대해 알아보도록 하겠다.
(1) Sensing Layer
해당 계층은 센서, 엑츄에어터로부터 데이터를 수신하는 계층으로 MCU를 통해 데이터를 수신하고 기기 또는 스토리지로 데이터를 전송한다. Sensing Data를 수신하는 MCU는 개인 컴퓨터와 비교하여 낮은 처리 속도와 적은 용량을 갖고 있다. Edge Computing을 도입하게 되면 MCU에서 수행해야 했던 데이터 처리를 대신하게 되어 프로세서의 성능과 메모리 용량의 한계를 극복할 수 있게 된다.
(2) Network Layer
네트워크 계층은 Sensing Layer에서 수집된 데이터를 유/무선으로 전송하는 단계이다. Network Layer 계층이 Edge Computing이 융합되면 수집된 데이터가 Cloud로 바로 이동하는 것이 아닌 경로상 Edge Computer로 이동하게 된다. 이때 Cloud가 아닌 IoT 서비스별 Edge Computer로 이동하기 때문에 Cloud에 트래픽이 몰리는 것은 분산화 할 수 있기 때문에 대역폭 문제를 해결할 수 있다. 또한 Network와 Cloud의 연결성이 보장되지 않는 환경에서도 서비스의 가용성 보장할 수 있게되고, 보안적인 측면에서는 분산화 되어 데이터를 전송하기 때문에 Network Attack(Dos, DDos)으로부터 회피 할 수 있다.
(3) Data Processing Layer
Data Processing Layer 계층은 Network Layer로부터 전달받은 데이터를 사용자가 원하는 형태로 분석하고 처리하는 단계이다. Data Processing Layer 계층이 Edge Computing이 융합되면 수집된 데이터가 Cloud에서 데이터를 처리하는 것이 아닌 경로상 존재하는 개별적인 Edge Computer에서 수행하기 된다. 개별적인 Computer에서 사용자에게 필요한 형태로 데이터를 분석하고 처리하는 과정을 분산하여 수행하기 때문에 프로세서의 과부하를 줄여 보다 빠른 처리속도와 응답속도를 보장하게 되어 Real-Time 서비스를 제공하는데 유리하다. 보안적인 측면에서는 데이터를 분산적으로 처리하기 때문에 비교적 랜섬웨어와 같은 데이터 오염공격으로부터 피해를 최소화 시킬 수 있고 하나의 PC가 오작동 하더라도 다른 PC는 작업을 수행하기 때문에 가용성을 보장할 수 있다.
(4) Application Layer
Application Layer는 IoT Architecture의 마지막 단계로 다양한 분야의 서비스에서 최종 사용자 애플리케이션에서 사용되는 데이터 관리 단계이다. Aplication Layer는 앞선 계층들보다 직접적인 영향은 적을 것으로 예측하지만 Edge Computihg으로 빠른 응답속도와 처리속도를 보장받게 되어 사용자에게 높은 서비스를 제공하고 효율성 있는 데이터 관리를 제공하게 된다.
2.4 스마트홈 프로젝트에서의 Edge Computing
필자는 IoT 개론 수업을 들으며 스마트홈 프로젝트를 수행하고 있다. 앞서 설명한 요구된 이유와 더불어 진행하고 있는 프로젝트에서 에지 컴퓨팅(Edge Computing) 융합으로 얻는 이점에 대해 알아본다.
(1) 프로젝트 개요
본 프로젝트는 Open-Source Hardware를 이용하여 가정 내 필요한 센서를 배치하여 가정 내부 혹은 외부에서 센서의 데이터를 모니터링하고 제어하는 스마트홈 환경을 구축하는 프로젝트이다. 해당 프로젝트는 [그림 6]과 같이 가정의 공기질, 멀티탭 원격제어, 전등 원격제어, 화재감지, 출입 인원 카운팅을 수행하여 웹 서비스로 제어 및 원격으로 제어하고 나아가 애플리케이션 서비스를 통해 푸시알람으로 상태를 전달하는 기능을 수행하게 된다.
(2) 시스템 설계
본 프로젝트의 구조는 센서로부터 데이터를 중간에서 라즈베리파이가 수신 받고 NAS 스토리지로 전송하는 형태인 게이트웨이 구조의 특징으로 설계하였다. 프로젝트에 사용된 하드웨어는 [표 6]과 같으며, 각 센서와 Edge Computer(Raspberry Pi)와 통신하기 위해 블루투스 2.0 모듈을 이용하였고, Edge Computer 내에서 Python 기반 병렬프로그래밍을 진행하였다. 각 센서를 제어하기 위해 Arduino Mini를 이용하였고, C/C++ 기반의 Sketch IDE를 이용하였다. 스마트홈 모니터링/제어 웹사이트는 JavaScript로 작성할 예정이다.
하 드 웨 어 | 용 도 |
Arduino Mini(이탈리아) | 센서로부터 데이터를 수신하고 전송하는 MCU. |
Raspberry Pi 3 (영국) | 센서 데이터를 수집하여 데이터 처리를 위함. |
Synology NAS 218+ (대만) | 센서 데이터를 저장하고 웹 서비스를 운용하기 위함. |
Bluetooth 2.0 (HC-06) | 센서에서 수신된 데이터를 통신하기 위함. |
MQ-135 (공기질 센서) | 가정의 공기질과 화재 여부를 감지하기 위함. |
5V 릴레이 (1/4 채널) | 멀티탭, 전등 전원을 제어하기 위함. |
LM-395(화염센서) | 화염 여부를 감지하기 위함. |
HC-SR04 (초음파 센서) | 사람 출입 여부를 감지하기 위함. |
(3) 에지컴퓨팅 융합 및 이점
FTP 파일교환, 웹서비스, Photo/Video 스트리밍 서비스를 1 ~ N명이 이용하고 있다. 여기서 각 센서로부터 받아온 센서 데이터를 가공하여 서비스를 운영하게 되면 NAS의 프로세서는 과부화 되어 적시적인 상황에 정보를 모니터링하거나 제어하지 못하는 상태가 될 수 있다.
이를 해결하기 위해 Raspberry PI에서 각 센서의 데이터를 원하는 형태로 가공(필터적용, 데이터 연산) 하고 NAS로 데이터를 전송하여 서비스를 운영하면 NAS에서의 처리과정이 감소하여 적시적인 상황에 센서를 제어하고 모니터링 할 수 있게 한다.
2.5 결론 및 견해
본 과제를 통해 Edge Computing에 대해 간락하게 알아보고, IoT와 융합되어 얻는 장점에 대해 IoT Architecture 측면에서 알아보았다. Edge Computing이 IoT에 융합되었을 때 네트워크, 데이터 처리 측면에서 분산되어 속도 향상과 높은 응답 속도를 기대할 수 있음을 확인하였다. 또한 개인적으로 진행하고 있는 스마트홈 프로젝트를 예시로 들어 Edge Computer를 추가하여 서비스를 운영하였을 때 기대할 수 있는 효과와 도입하지 않았을 때 NAS에서의 과부하 가능성을 예시로 들었다. 끝으로 IoT와 Edge Computing의 융합 관련 개인적인 견해로 처리속도, 응답시간, 보안성 측면에서 장점을 지니고 있어 큰 장점을 가지고 있지만 네트워크 Edge상에 도입하기 위한 비용과 서비스 관리 측면에서의 단점이 존재할 것으로 예상한다.
2.6 참고문헌
[13] 위키피디아 – 에지컴퓨팅
[14] 위키피디아 – 클라우드컴퓨팅
[15] geeksforgeeks - https://www.geeksforgeeks.org/architecture-of-internet-of-things-iot/
[16] RedHat Linux OS Edge Computing(https://www.redhat.com/ko/topics/edge-computing/iot-edge-computing-need-to-work-together)
※ 본 게시물은 아주대학교 정보통신대학원 과제수행 자료 입니다. 해당 대학교의 과제수행 목적을 위한 인용을 금합니다.
※ 본 게시글의 정보가 잘못 되었거나 부족한 부분에 대한 피드백을 환영합니다.
* CopyRight 2021. Jay Park All rights reserved.
'Study > IoT' 카테고리의 다른 글
[IoT] 실내측위에서의 UWB와 BLE의 효율성 비교 (0) | 2022.01.07 |
---|---|
[IoT] Mbed란 ? (0) | 2022.01.07 |
[IoT] Wifi Mesh와 Bluetooth Mesh (0) | 2022.01.02 |
[IoT] 인공지능(AI)와 사물인터넷(IoT) 융합의 필요성(Big-Data 관점에서) (0) | 2022.01.01 |
[Research] 비 접촉형 호흡 건강 체크 및 훈련 서비스 플랫폼 (0) | 2021.10.10 |