08. 포그 컴퓨팅

?상명대학교 / 서광규 교수


포그 컴퓨팅(Fog Computing) 또는 포그 네트워킹(Fog Networking), 포깅(Fogging)은 에지 디바이스를 사용하여 인터넷 백본을 통해 라우팅되는 상당량의 연산, 기억, 통신을 수행하는 구조이며 대부분은 물리적인 세계로부터의 입출력을 가지는데 이를 트랜스덕션(transduction)이라고 부른다. 포그 컴퓨팅은 종종 센서 입력, 디스플레이 출력 또는 완전히 닫힌 루프 프로세스 제어를 수행하기 위해 물리적인 입출력을 직접 수행하는 에지 노드들로 구성된다. 매우 큰 데이터 센터에 상주하는 중심화된 클라우드가 아닌 에지나 에지 주변에서 Cloudlets라는 이름으로 불리는 더 작은 에지 클라우드를 사용할 수도 있다. 자동차 통제와 같은 진보화된 에지 클라우드의 처리 능력은 이를테면 휴대전화와 개인용 컴퓨터와 같은 더 전통적인 에지 개인 기기들에 비해 상당할 수 있다. 본 문서에서는 포그 컴퓨팅의 기본 개념과 범위 및 아키텍처에 대하여 설명하기로 한다.




포그 컴퓨팅의 개념


포그 컴퓨팅(Fog Computing)은 클라우드 데이터센터와 IoT 기기/센서 사이의 중간 계층이다. IoT 기기/센서에 근접해 스토리지 및 네트워킹과 함께 연산 서비스를 제공한다. 포그 컴퓨팅 개념은 에지 컴퓨팅(Edge Computing)에서 파생된 것이다. 에지 컴퓨팅은 데이터 출처에 더 가까운 데이터 컴퓨팅을 제공한다. 에지 컴퓨팅의 에지 디바이스는 리소스가 제한되어 IoT에서 여러 애플리케이션을 지원할 수 없어 리소스 집중과 대기 시간이 증가하는데, 에지 컴퓨팅과 관련된 한계를 극복하기 위해 에지 장치와 클라우드 리소스를 동화시킨다.

클라우드 컴퓨팅과 포그 컴퓨팅의 차이점을 정리하면 다음 표와 같다.

 
특징클라우드 컴퓨팅포그 컴퓨팅
DelayHighLow
LatencyHighLow
Client-server distanceMultiple hopsOne hop
Service LocationWithin the internetAt the edge of the local network
Real time interactionsSupportedSupported
Mobility SupportLowSupported
Geo-distributionCentralizedDistributed
Location awarenessNoYes

[표] 클라우드 컴퓨팅과 포그 컴퓨팅의 차이







포그 컴퓨팅의 필요성


포그 컴퓨팅의 필요성은 다음과 같이 정리할 수 있다.

- IoT 애플리케이션은 대량의 데이터를 생성한다. 이 데이터는 구현을 위한 결정을 내리고 다양한 조치를 취하기 위해 분석이 필요하다.

- 데이터를 클라우드로 전송하면 대기 시간, 과도한 대역폭 사용, 실시간 응답 지연, 데이터 중앙 집중 위치 등 여러 문제가 발생한다.

- IoT 애플리케이션이 직면한 이러한 과제를 극복하기 위해 클라우드 환경에서는 2012년 Cisco에서 포그 컴퓨팅이라는 용어를 도입하였다.

- 포그 컴퓨팅은 지연 시간의 최소화와 효율적인 대역폭 사용으로 이어지는 최종 장치에 가까운 연산을 약속한다.

- 센서 기반 장치가 증가하면서 대량의 데이터가 생성된다. 이 데이터는 처리뿐만 아니라 저장도 필요하다. 데이터를 클라우드에 저장하려면 비용이 많이 들고 처리 시간이 더 길어진다. 안포그 컴퓨팅은 최종 장치에 가까운 자원을 배치하여 처리 시간을 줄이고 비용도 절약한다.




포그 컴퓨팅 아키텍처


포그 아키텍처는 컴퓨팅, 저장 및 처리 목적으로 최종 장치(스위치, 라우터, 멀티플렉서 등)의 서비스를 사용하는 것을 포함한다. 포그 컴퓨팅 아키텍처는 네트워크, 소프트웨어 및 하드웨어의 논리적 요소뿐만 아니라 물리적 요소로 구성되어 있어 다수의 상호연결 장치의 완전한 네트워크를 형성한다. 포그 노드 분포(물리적 및 지리적 분포, 사용된 토폴로지 및 프로토콜)는 포그 아키텍처의 주요 아키텍처 특징을 형성한다. 포그 아키텍처는 다른 계층의 기능 분포, 사용되는 프로토콜의 종류와 수, 그리고 다양한 계층에서 부과되는 제약조건을 포함한다.

포그 컴퓨팅 아키텍처는 다음과 같은 6개의 레이어로 구성된다.

  1. 물리적 계층 및 가상화 계층

- 이 계층은 노드(물리적 및 가상)로 구성된다. 노드는 데이터를 캡처하는 기본 작업을 수행하고 서로 다른 위치에 위치한다. 노드는 보통 주변 환경을 포착하기 위한 감지 기술을 포함한다.

- 이 노드에서 사용되는 센서는 주변으로부터 데이터를 수집하고 데이터를 수집하며, 이후 추가 처리를 위해 게이트웨이를 통해 상위 레이어로 전송된다.

- 노드는 휴대폰과 같은 독립형 장치일 수도 있고 차량 내부에 장착된 온도 센서와 같은 큰 장치의 일부가 될 수도 있다.

  1. 모니터링 계층

- 이 계층에서는 다양한 작업과 관련된 노드 모니터링을 수행한다.

- 노드는 작동 시간, 온도 및 기타 물리적 특성, 장치의 최대 배터리 수명 등을 모니터링할 수 있다.

- 응용 프로그램의 성능 및 현재 상태도 모니터링된다.

- 포그 노드의 에너지 소비량, 작업 수행 중 소비되는 배터리 전력량 등을 점검한다.

  1. 전처리 계층

- 이 계층은 주로 분석에 관련된 다양한 데이터 연산을 수행한다.

- 원치 않는 데이터가 있는지 데이터를 치료하고 검사한다. 데이터 클리닝이 이루어지고 유용한 데이터만 수집된다.

- 이 계층의 데이터 분석은 최종 장치에 의해 수집된 방대한 양의 데이터로부터 의미 있고 관련 있는 정보를 마이닝하는 것을 포함할 수 있다.

- 데이터 분석은 특정 목적을 위해 데이터를 사용하기 전에 고려해야 할 필수적인 특징 중 하나이다.

  1. 임시 저장 계층

- 이 계층은 데이터의 비영구적 배포 및 복제와 연관되어 있다.

- VSAN과 같은 스토리지 가상화가 이 계층에서 사용된다.

- 데이터는 일단 클라우드로 데이터가 이동되면, 이 계층에서 임시 계층에서 제거된다.

  1. 보안 계층

- 이 계층은 데이터의 프라이버시, 데이터의 무결성, 암호화 및 암호 해독과 관련이 있다.

- 포그 계산 데이터의 경우 프라이버시에는 사용 기반 프라이버시, 데이터 기반 프라이버시 및 위치 기반 프라이버시가 포함될 수 있다.

- 보안 계층은 포그 노드로 아웃소싱되는 데이터에 대한 프라이버시의 보안과 보존을 보장한다.

  1. 전송 계층

- 이 계층의 주요 기능은 부분적으로 처리되고 세분화된 보안 데이터를 영구적 스토리지를 위해 클라우드 계층에 업로드하는 것이다. 효율성을 위해 데이터의 일부를 수집하여 업로드한다.

- 데이터는 클라우드에 업로드하기 전에 스마트 게이트웨이를 통해 전달된다. 사용되는 통신 프로토콜은 포그 컴퓨팅의 제한된 자원 때문에 가볍고 효율적이도록 선택된다.

포그컴퓨팅의 개요 및 아키텍처 그림 1

[그림] 포크 검퓨팅 아키텍처







포그 컴퓨팅 범위


포그 컴퓨팅 범위는 다음과 같은 제목으로 논의할 수 있다.

- 대역폭 인식 포그 시스템 설계: 포그 컴퓨팅은 코어 네트워크의 대역폭 사용을 줄여야 한다. 포그 컴퓨팅에서 대역폭에 대한 연구는 초기 단계에 있다. 포그 컴퓨팅에서 대역폭의 적절한 사용법을 찾기 위해 여러 가지 실험을 수행해야 한다. 포그 구조에 수많은 장치를 추가하는 영향과 포그 대역폭에 미치는 영향을 고려해야 한다.

- 포그 시스템 SLA: 현재 포그 시스템에는 자체 정의된 SLA가 없다. 포그 컴퓨팅에 사용되는 현재의 모든 SLA는 실제로 클라우드 컴퓨팅을 위한 것이다. 포그 아키텍처는 서로 다른 플랫폼에 걸친 장치들로 구성된 중앙 클라우드 모델에 비해 자연적으로 분산된다. 잠재적이고 실행 가능한 SLA는 미래의 요구이며 포그 컴퓨팅 패러다임에 특히 적합하다.

- 포그 확장성: 포그 컴퓨팅에 사용되는 다양한 알고리즘과 현재 사용 가능한 체계가 IoT 장치의 규모와 일치하지 않는다. 이는 포그와 IoT 기기 간 호환성을 저해하는 요인으로 작용한다.

- 그린 포그 컴퓨팅: 포그 노드의 에너지 소비량을 개선해야 할 필요성이 크다. 현재 IoT 기기 및 센서에 에너지 하베스터의 활용이 고려되어야 한다. 바람, 햇빛과 같은 재생 가능한 에너지원에 의한 포그 노드의 연료 공급도 고려해야 한다.

- 포그 리소스 모니터링: 포그 노드는 여러 위치에 위치한 여러 사용자가 사용하므로 모니터링이 과제가 된다. 향후 다중 운용자 사용을 지원하는 포그 자원 감시 기법 개발이 필요하다.

 




포그 컴퓨팅의 장점


포그 컴퓨팅의 가지 이점은 다음과 같다.

- 짧은 대기 시간: 포그 컴퓨팅의 중요한 이점 중 하나는 자원의 근접성이다. 데이터는 처리 및 분석 목적으로 멀리 떨어진 서버로 전송되지 않는다. 데이터 처리는 기기 가까이에서 이루어지며, 따라서 대기 시간이 더 크게 감소한다.

- 보안 강화: 지역화된 데이터 처리로 인해 포그는 보안과 관련된 이점을 제공한다. 모든 IT 인프라에서 구현되는 것과 동일한 보안 정책을 포그 컴퓨팅 환경에서 로컬로 구현할 수 있다.

- 운영 비용 절감: 데이터가 로컬로 처리되어 네트워크 대역폭과 인프라 비용을 절감된다.

- 확장성: 포그컴퓨팅의 이러한 이점은 포그 환경에서 장치를 빠르게 추가할 수 있게 한다. 장치는 온디맨드 방식으로 확장할 수 있다.

- 유연성: 여러 플랫폼의 여러 기기를 연결하여 아무런 방해 없이 데이터를 공유할 수 있도록 한다.




포그 컴퓨팅의 단점


포그 컴퓨팅의 일부 단점은 다음과 같다.

- 인증: 연결된 기기가 많은 상황에서 기기 인증은 포그 컴퓨팅의 주요 문제점으로 꼽힌다. 분산 특성 때문에 포그 컴퓨팅에서 특정 장치를 식별하는 것은 매우 어려워진다.

- 예약: 포그 장치, 포그 노드, 클라우드 서버 간에 작업이 이동하기 때문에 스케줄링이 문제가 된다.

- 전력 소비량: 포그 노드는 중앙 집중식 클라우드 아키텍처보다 더 많은 전력을 사용한다.

- 포그 서버: 최대 서비스를 위해 적절한 장소에 포그 서버를 배치해야 한다.




결론


포그 컴퓨팅은 멀리 떨어진 데이터센터에 저장돼 있는 IoT 데이터로 인해 현재 직면하고 있는 단점을 없앨 수 있다. 엔드-디바이스와 클라우드 데이터 센터 사이에 처리 노드를 배치하여 지연 시간을 없애고 효율성을 개선한다. 포그 아키텍처는 많은 다른 계층들로 구성된 모델이다. 그 모델은 포그망 구축에 이상적인 역할을 한다. 포그 아키텍처는 각 계층에 의해 수행되는 서로 다른 기능의 개요를 제공한다. 다른 계층에서 사용되는 프로토콜, 다른 계층에서 사용되는 특정 장치 및 그 기능성, 규격은 포그 구조를 통해 식별된다.




참고문헌



  1. https://ko.wikipedia.org/wiki/포그_컴퓨팅
  2. https://en.wikipedia.org/wiki/Fog_computing
  3. https://www.educba.com/fog-computing-architecture/
  4. Ranesh Kumar Naha et al., Fog Computing: Survey of Trends, Architectures, Requirements, and Research Directions, IEEE Access, Volume. 6, p. 47980 - 48009. 2018.
  5. Muhammad Rizwan Anawar et al., Fog Computing: An Overview of Big IoT Data Analytics, Wireless Communications and Mobile Computing, Volume 2018, p.1- 22, 2018.





저작권정책

K-ICT 클라우드혁신센터의 저작물인 『포그 컴퓨팅(Fog Computing) 개념과 아키텍처』는 K-ICT 클라우드혁신센터에서 상명대학교 서광규 교수에게 집필 자문을 받아 발행한 전문정보 브리프로, K-ICT 클라우드혁신센터의 저작권정책에 따라 이용할 수 있습니다.
다만 사진, 이미지, 인용자료 등 제3자에게 저작권이 있는 경우 원저작권자가 정한 바에 따릅니다.