Source-linked AI summary
Fog Computing: Survey of Trends, Architectures, Requirements, and Research Directions
Ranesh Kumar Naha, Saurabh Garg, Dimitrios Georgakopoulos, Prem Prakash Jayaraman, Longxiang Gao, Yong Xiang, Rajiv Ranjan
TL;DR
Fog computing 연구는 인프라, 플랫폼, 애플리케이션을 아우르는 요구사항 기반 taxonomy와 핵심 운영 영역에 대한 포괄적 검토가 부족하다. 이 survey는 동향과 아키텍처를 검토하고 이러한 taxonomy를 제안하며, Fog computing 검색이 2010년부터 2017년까지 2.5배 증가했음을 보고하는 동시에 미해결 연구 과제를 식별한다.
문제
기존 Fog computing 연구는 인프라, 플랫폼, 애플리케이션을 아우르는 요구사항 기반 taxonomy가 부족하며, resource management, fault tolerance, microservices에 대한 검토도 불완전하다.
방법
이 survey는 Fog 동향과 아키텍처를 검토하고, 애플리케이션을 요구사항 기반 taxonomy에 매핑하며, resource allocation, fault tolerance, simulation tools, microservices를 조사한다.
결과
Fog computing 관련 학술 검색은 2010년부터 2017년까지 2.5배 증가했으며, 이는 연구 관심이 빠르게 높아지고 있음을 보여준다.
시사점 및 한계
이 survey는 현재 Fog computing 연구를 체계화하고 추가 탐구가 필요한 애플리케이션 및 플랫폼 관련 공백을 식별한다.
Abstract
from arXiv · showhide
Emerging technologies like the Internet of Things (IoT) require latency-aware computation for real-time application processing. In IoT environments, connected things generate a huge amount of data, which are generally referred to as big data. Data generated from IoT devices are generally processed in a cloud infrastructure because of the on-demand services and scalability features of the cloud computing paradigm. However, processing IoT application requests on the cloud exclusively is not an efficient solution for some IoT applications, especially time-sensitive ones. To address this issue, Fog computing, which resides in between cloud and IoT devices, was proposed. In general, in the Fog computing environment, IoT devices are connected to Fog devices. These Fog devices are located in close proximity to users and are responsible for intermediate computation and storage. Fog computing research is still in its infancy, and taxonomy-based investigation into the requirements of Fog infrastructure, platform, and applications mapped to current research is still required. This paper starts with an overview of Fog computing in which the definition of Fog computing, research trends, and the technical differences between Fog and cloud are reviewed. Then, we investigate numerous proposed Fog computing architecture and describe the components of these architectures in detail. From this, the role of each component will be defined, which will help in the deployment of Fog computing. Next, a taxonomy of Fog computing is proposed by considering the requirements of the Fog computing paradigm. We also discuss existing research works and gaps in resource allocation and scheduling, fault tolerance, simulation tools, and Fog-based microservices. Finally, by addressing the limitations of current research works, we present some open issues, which will determine the future research direction.
I. 서론 · II. Fog Computing 개요
이 논문은 클라우드 서버와 IoT 디바이스 사이의 분산 계층으로서 Fog computing을 조사하며, 빠르게 증가하는 센서 데이터를 클라우드에서 처리할 때 발생하는 지연과 확장성 문제를 연구 동기로 삼는다. 인프라, 플랫폼, 애플리케이션 전반의 Fog architecture, 요구사항, 연구 공백과 미해결 과제를 검토한다.
- I. 서론: Fog computing은 계산과 저장을 사용자에게 더 가까이 배치하여 IoT의 massive sensor-data growth와 클라우드 처리의 한계를 해결한다.Cloud computing은 접근성, 확장성, 사용량 기반 과금 서비스를 제공하지만, 수십억 개 센서에서 생성된 데이터를 전부 클라우드로 전송하고 처리할 수는 없다.
- I. 서론: Fog는 인근 디바이스의 유휴 자원을 활용하는 분산 computing paradigm으로, 복잡한 처리를 위한 클라우드 지원을 유지하면서 reduce cloud latency를 실현한다,.중앙 구성요소에 의존하는 cloud computing과 달리, Fog는 사용자 주변의 연산 능력을 갖춘 디바이스에 계산을 분산한다.
- I. 서론: 이 survey는 이기종성을 핵심 배포 과제로 식별하며, 다양한 Fog 디바이스 전반의 resource management and failure handling에 관한 연구가 필요하다고 본다.또한 resource allocation and scheduling, fault tolerance, simulation tools, Fog-based microservices 분야의 연구 공백을 강조한다.
- I. 서론: 이 survey는 연구 동향을 제시하고 Fog architecture를 상세히 검토하며, 인프라, 플랫폼, 애플리케이션을 포괄하는 requirements-based taxonomy를 제안한다.명시된 기여는 출판 및 Google Scholar 동향 조사, architecture component의 상세화, 인프라·플랫폼·애플리케이션 요구사항에 따른 Fog 연구 분류를 포함한다.
- II. Fog Computing 개요: Fog 연구는 edge computation과 cloudlet을 기반으로 발전했다. cloudlet은 mobile network를 대상으로 하는 반면, Fog computing은 connected IoT things를 대상으로 한다,,,.“Fog computing”이라는 용어는 2012년 Cisco 연구자들이 제안했다.
- II. Fog Computing 개요: Fog는 클라우드 서버와 IoT 디바이스 between cloud servers and IoT devices에 virtualized 또는 non-virtualized networking, storage, computation을 제공하며, 주로 low-latency application을 지원한다,,.이러한 서비스는 분산되어 있으며 네트워크 edge에 완전히 위치하지 않는다. Fog는 latency-aware하지 않은 서비스도 지원한다.
- II. Fog Computing 개요: 이 논문은 Fog 정의와 연구 동향을 조사하고, compares Fog technically with cloud computing하며, 기존 architecture 및 taxonomy 연구를 종합한다,,,,,.기존 연구는 hierarchical architecture, enabling technology, 요구사항, 과제와 함께 heterogeneity, QoS, scalability, mobility, federation을 포함한 평가 기준을 다룬다.
A. FOG COMPUTING의 정의 · B. FOG COMPUTING 연구 동향
Fog computing은 비지연 인식 처리를 위해 cloud를 사용하고 장기 저장을 수행하면서, virtualized 및 non-virtualized edge device에서 데이터를 처리하는 distributed platform으로 정의된다. Edge processing이 IoT의 latency 요구를 충족하고 인근 유휴 자원의 활용을 가능하게 하면서 연구 관심이 빠르게 증가하고 있다.
- A. FOG COMPUTING의 정의: Fog computing은 IoT device와 cloud data center 사이에 compute, storage, networking을 배치하여 데이터 생성 device 인근에서 latency-sensitive application을 지원한다.이 패러다임은 cloud infrastructure와 통합되면서 processing을 network edge 쪽으로 이동시킨다.
- A. FOG COMPUTING의 정의: Edge processing은 모든 IoT data를 cloud로 전송하는 의존도를 낮춘다. 이러한 전송에는 massive bandwidth and storage가 필요하며 protocol translation이 추가로 요구될 수 있다.IoT device는 직접적인 IP connection 대신 industrial protocol을 사용할 수 있어 추가적인 translation 요구가 발생한다.
- A. FOG COMPUTING의 정의: Fog의 정의는 다양하지만, 사용자와 IoT device, centralized cloud infrastructure 사이에서 processing과 storage를 제공하는 decentralized 또는 edge-proximate resource를 일관되게 설명한다.일부 정의는 storage 및 processing task에서 협력하는 heterogeneous autonomous device를 포함하는 반면, 다른 정의는 centralized cloud에서 network end로 resource를 이동하는 점을 강조한다.
- A. FOG COMPUTING의 정의: Fog computing은 non-latency-aware processing과 long-term storage를 위해 cloud와 연계하면서 virtualized 및 non-virtualized edge device에서 most processing을 수행한다.저자들은 computing 및 storage가 가능한 모든 device를 Fog device로 포함하고, 환경에서 cloud의 역할을 명확히 한다.
- B. FOG COMPUTING 연구 동향: IoT-generated data를 edge에서 처리하면 overall processing time을 개선할 수 있기 때문에, 사용자에게 closer to users인 위치에서 데이터를 처리하는 연구 관심이 증가했다.이 절은 Fog computing을 latency-aware smart-home service, 특히 emergency-response application과 연결한다.
- B. FOG COMPUTING 연구 동향: Google Scholar에서 edge computing은 관련 패러다임 중 most searched였지만, 8년에 걸쳐 검색 동향은 more than three times 감소했다.Mobile cloud computing과 mobile edge computing이 most searched paradigm에서 edge computing의 뒤를 이었다.
- B. FOG COMPUTING 연구 동향: Fog computing 논문은 2015년과 2016년 사이에 more than doubled 증가했으며, 4개의 주요 digital library에서 약 about 564 journal 및 conference article이 출판되었다.제목에 “Fog computing”이 포함된 최초의 논문은 2012년에 등장했으며, 이는 해당 분야의 관찰된 급속한 성장을 뒷받침한다.
- B. FOG COMPUTING 연구 동향: 저자들은 Fog research interest가 rapidly increasing하고 있으며 사용자 인근 device의 idle resource가 시장 도입과 technological development를 지원할 수 있다고 결론 내린다.이들의 동향 분석은 Gartner의 hype-cycle 맥락, Google Scholar 검색, digital library의 출판물 수를 결합한다.
C. FOG와 CLOUD의 차이 · III. 관련 패러다임 및 기술 · A. MOBILE CLOUD COMPUTING (MCC)
Fog computing은 사용자 인근에 위치하며 지리적으로 분산·조정되는 Fog 클러스터를 통해 cloud computing과 구별되며, 지연시간·에너지 사용량·운영 비용을 낮추는 대신 더 높은 장애 위험을 수반한다. 관련 패러다임으로는 사용자 인근 cloudlet과 cloud 협업을 활용해 모바일 기기의 한계를 극복하고 계산 집약적 애플리케이션을 지원하는 MCC가 있다.
- C. FOG와 CLOUD의 차이: Fog는 사용자 인근에 지리적으로 분산된 Fog 클러스터를 사용하는 반면, cloud computing은 중앙집중형 데이터센터에 의존하며, Fog는 운영 비용과 에너지 소비가 더 낮다.Fog 디바이스는 처리를 위해 협력하는 반면, cloud 인프라는 더 중앙집중적이고 Fog 인프라는 더 분산되어 있다.
- C. FOG와 CLOUD의 차이: Fog는 지연시간을 줄여 실시간 상호작용을 가능하게 하지만, 무선 연결, 분산형 관리, 전원 장애로 인해 장애율이 높아진다, –.대부분의 Fog 디바이스는 스마트 기기와 휴대용 디바이스를 포함해 무선으로 연결될 것으로 예상된다.
- C. FOG와 CLOUD의 차이: Fog는 cloud computing을 대체할 수 없으며, 두 패러다임 중 하나가 본질적으로 더 우수하다고 판단할 수도 없다. 서로 다른 관점과 요구사항을 충족하기 때문이다.이 논문은 Fog와 cloud를 상호 대체 가능한 관계가 아니라 상호 보완적인 관계로 제시한다.
- III. 관련 패러다임 및 기술: Fog computing은 전통적인 cloud 인프라와 edge 디바이스 사이에 자원을 배치해 더 빠른 애플리케이션 처리와 서비스를 제공한다.이 논문은 Fog를 MCC, MEC, Edge Computing, Dew Computing, Fog-dew computing을 포함한 관련 패러다임 사이에 위치시킨다.
- A. MOBILE CLOUD COMPUTING (MCC): MCC는 사용자 인근 cloudlet을 통해 오프로딩된 모바일 서비스의 원격 실행을 지원하고, 스마트 디바이스의 계산·에너지·스토리지 한계를 극복한다,,.MCC는 이기종 네트워크 연결을 통해 기능, 이동성, 스토리지를 제공하며 종량제 모델을 따른다.
- A. MOBILE CLOUD COMPUTING (MCC): MCC는 모바일 사용자에게 데이터, 애플리케이션, cloud 자원에 대한 인터넷 액세스를 제공하며, 교육, 개발, 헬스케어, 소셜 네트워킹 분야에서의 활용이 예상된다.이 논문은 증강현실, 컴퓨터 비전, 음성 인식, 머신러닝과 같은 계산 집약적 애플리케이션도 제시한다.
- A. MOBILE CLOUD COMPUTING (MCC): 계산 집약적 모바일 애플리케이션에는 edge 처리와 cloud 협업이 필요하므로, 낮은 지연시간의 중간 계층, 원활한 원격 실행, 최적화된 cloud 인프라가 요구된다.단순히 더 강력한 모바일 디바이스를 설계하는 것만으로는 이러한 애플리케이션 요구사항을 충족할 수 없다.
B. MOBILE EDGE COMPUTING (MEC) … E. FOG-DEW COMPUTING
이 논문은 배치 위치, 연결성, 서비스 모델, edge processing 정도에 따라 MEC, edge, Dew, Fog-dew computing을 구분한다. 이러한 패러다임 전반에서 computation과 storage는 사용자와 IoT device 쪽으로 이동하며, Dew와 Fog-dew computing은 decentralized 또는 offline operation도 추가로 지원한다.
- B. MOBILE EDGE COMPUTING (MEC): MEC는 cellular base station에 computation과 storage를 함께 배치하여 mobile end device를 포함한 two- or three-tier deployment를 가능하게 한다.MEC server는 base-station tower 인근에 배치되며, mobile user, network operator, Internet infrastructure provider, application service provider가 생태계에 참여한다.
- B. MOBILE EDGE COMPUTING (MEC): MEC는 mobile base station에서 출발해 telecommunications와 IT networking의 협업을 통해 발전했으며, IoT, location, augmented-reality, caching, video-analytics, local-content service를 지원한다.실시간 low-latency local access 또는 cached content를 제공하지만, MEC server 설치가 주요 한계다.
- C. EDGE COMPUTING: Edge device는 data를 생산하면서 소비하기도 하며, 사용자를 위해 cloud offloading, storage, processing, caching, request distribution, cloud-provided service를 수행한다.이러한 device는 privacy requirement를 충족하도록 설계되어야 한다.
- D. DEW COMPUTING (DC): Dew Computing은 cloud–Fog hierarchy의 ground level에서 동작하는 vertically distributed microservice sub-platform으로, sensor, tablet, smartphone을 연결한다.latency-sensitive IoT application과 dynamic network configuration을 지원하는 Fog와 달리, Dew는 centralized device, server, cloud에 의존하지 않는다.
- D. DEW COMPUTING (DC): Dew Computing은 traffic signal 사이에 data-collection 및 processing unit을 배치해 collective traffic condition을 생성하고, 차량에 congestion-related risk를 경고함으로써 smart traffic control을 지원할 수 있다 [40].이 사례에는 congestion에 접근하는 low-fuel car와 hybrid vehicle에 대한 alert가 포함된다.
- E. FOG-DEW COMPUTING: Fog-dew computing은 active Internet connection 없이도 IoT device가 community server에 연결되도록 하며, 해당 server는 cloud와 상호작용해 service를 제공한다.일반적으로 Internet connectivity가 필요한 cloud computing과 달리, Fog-dew computing은 offline service를 가능하게 한다. Fog 관련 패러다임은 connectivity와 edge에서 수행되는 processing의 정도에 따라 서로 다르다.
IV. FOG COMPUTING 아키텍처 … 1) 물리 계층
표준 아키텍처가 아직 존재하지 않기 때문에 이 논문은 Fog computing 아키텍처를 검토하며, 3계층 고수준 모델에서 다양한 제안 아키텍처와 상세한 구성요소 설명으로 논의를 확장한다. 물리 계층은 센서가 생성한 데이터 소스에서 시작하며, sensing, monitoring, actuation 중심 애플리케이션을 지원한다.
- IV. FOG COMPUTING 아키텍처: 표준 Fog 아키텍처가 존재하지 않으므로, 이 논문은 제안된 설계를 검토하고 배포를 위한 구성요소 수준의 상세 아키텍처 설명을 제시한다.검토 범위는 고수준 아키텍처, 기존 제안, 구성요소 기능을 포함한다.
- A. FOG COMPUTING의 고수준 아키텍처: 고수준 모델은 3개 계층으로 구성된다. IoT devices는 sensing과 actuation을 수행하고, Fog 계층은 중간 계산을 제공하며, cloud는 나머지 처리를 담당한다.Container-based virtualization은 resource-constrained Fog 계층에 traditional virtualization보다 더 적합한 것으로 설명된다.
- A. FOG COMPUTING의 고수준 아키텍처: time-sensitive applications의 경우 처리는 Fog plane에서만 수행되어야 하며, Fog plane은 cloud로 전송할 데이터를 제어하고 사용자는 두 서비스 모두에 접근한다.Fog 계층은 센서가 생성한 데이터를 축적하고 cloud 통신을 관리한다.
- B. FOG COMPUTING을 위해 제안된 다양한 아키텍처: 검토된 Fog 아키텍처는 3개, 4개, 5개 또는 6개 계층을 사용하며, 계층 수는 고수준 표현과 구현 중심 설계 사이에서 달라진다.인용된 연구들은 계층 선택을 서로 다르게 정당화하며, user plane을 제외하면 3수준의 고수준 관점이 된다.
- B. FOG COMPUTING을 위해 제안된 다양한 아키텍처: Aazam and Huh 는 특정 작업을 중심으로 6개 계층을 구성한 반면, Dastjerdi et al. 는 network 관점에서 5개 계층을 정의한다.그 밖에 검토된 설계에는 hierarchical Fog, OpenFog, Fog network, Internet of Energy, nervous-system-based, IFCIoT 아키텍처가 포함된다.
- C. FOG COMPUTING 아키텍처의 구성요소: 상세 아키텍처는 계층과 기능별로 구성요소를 그룹화하여 IoT devices를 Fog devices, servers, gateways 및 cloud와 연결한다.Figure 8은 아키텍처의 계층과 구성요소를 제시한다.
- 1) 물리 계층: 물리 계층은 smart devices, environmental sensors, smart homes, surveillance systems, traffic systems 및 vehicles를 포함한 센서와 기타 소스에서 데이터를 수신한다.이러한 소스는 Fog computing을 위한 기본 데이터 입력을 제공한다.
- 1) 물리 계층: smart traffic management에서는 roadside sensors, devices, cameras 및 GPS sensors가 현재 상태 monitoring, traffic-signal management 및 future-demand prediction을 지원한다.virtual sensors도 중요하다. 도로 폐쇄와 같은 의사결정은 단일 physical sensor에 의존할 수 없기 때문이다.
2) Fog 디바이스, 서버 및 게이트웨이 계층 … 8) 애플리케이션 계층
이 논문은 디바이스, 서버 및 게이트웨이 관리부터 모니터링, 처리, 저장, 자원 관리, 보안, 애플리케이션에 이르는 Fog의 계층형 아키텍처를 설명한다. 이 계층들은 자원, 데이터, 신뢰성, 확장성, 프라이버시를 조정하여 분산형·지연시간 인지 IoT 서비스를 지원한다.
- 2) Fog 디바이스, 서버 및 게이트웨이 계층: Fog 디바이스, 서버 또는 게이트웨이는 독립형이거나 IoT와 통합된 형태일 수 있으며, 서버는 여러 Fog 디바이스를 관리하기 위해 더 높은 사양이 필요하다.역할은 하드웨어, 연결성, 관리되는 디바이스 수에 따라 달라지며, 클러스터 간 애플리케이션은 여러 Fog 디바이스와 서버에 걸친 조정된 처리를 요구할 수 있다.
- 3) 모니터링 계층: 모니터링 계층은 성능, 자원, 서비스 및 응답을 추적하여 운영 중 적절한 자원을 선택한다.이 계층은 Fog 디바이스 또는 서버에서 연산이나 저장을 사용할 수 없게 되는 상황을 처리한다.
- 4) 사전 및 사후 처리 계층: 사전·사후 처리 계층은 데이터를 분석, 필터링, 축약 및 재구성한 다음, 장기 저장을 위해 로컬 저장소 또는 cloud로 라우팅한다.실시간 집계는 모든 센서 판독값 대신 애플리케이션과 관련된 요약 정보를 유지하여 불필요한 저장을 줄일 수 있다.
- 5) 저장 계층: 저장 계층은 storage virtualization을 사용하여 네트워크로 연결된 디바이스를 하나의 관리 가능한 자원으로 통합하며, 백업은 데이터 가용성을 향상하고 손실을 완화한다.Virtualization은 비용이 낮거나 범용적인 하드웨어를 사용하여 엔터프라이즈급 기능을 제공할 수 있다.
- 6) 자원 관리: 자원 관리는 할당, 스케줄링, 에너지 절약, 신뢰성 및 확장성을 조정하며, Fog는 horizontal and vertical scalability를 모두 목표로 한다.애플리케이션 스케줄링은 서로 다른 목표를 처리하며, 에너지 효율성은 운영 비용과 환경 영향을 줄일 수 있다.
- 7) 보안 계층: 보안 계층은 암호화된 통신, 안전한 데이터 저장 및 사용자 프라이버시를 유지하면서 유틸리티 방식의 Fog 서비스 접근을 지원한다.사용자는 서비스를 위해 Fog 인프라에 연결하고, Fog 미들웨어는 기저 자원을 관리한다.
- 8) 애플리케이션 계층: Fog는 지연시간 인지 IoT, Wireless Sensor Network, CDN, 유틸리티 및 Augmented Reality 애플리케이션을 지원한다.Augmented Reality의 경우 Fog는 실시간 처리 요구를 충족하고 지속적인 서비스 개선을 지원할 수 있다.
V. Fog computing 분류체계 … 3) Fog 디바이스
이 논문은 인프라, 플랫폼, 애플리케이션을 포괄하는 요구사항 기반 Fog computing 분류체계를 제안한다. 인프라 분석에서는 물리 자원, 네트워크 제약, 그리고 협력적으로 edge computation을 지원하는 이기종 IoT, processing, gateway 디바이스를 다룬다.
- V. Fog computing 분류체계: 제안된 분류체계는 인프라, 플랫폼, 애플리케이션 전반의 Fog computing 요구사항을 체계화하여 연구와 엔터프라이즈 배포를 위한 프레임워크를 제공한다.인프라 및 네트워크 요구사항, 디바이스 유형, 플랫폼 할당 및 스케줄링, 보안과 프라이버시, 서비스, 관리, 멀티테넌시, 애플리케이션 및 사용자 요구사항을 식별한다.
- A. 인프라: Fog 인프라는 연산에 참여하는 물리 디바이스, 네트워크 디바이스, gateway로 구성되며, 요구사항은 이들의 역량과 연결성에 따라 결정된다.인프라는 효율적인 Fog 서비스를 위해 computation, networking, storage, memory 자원을 제공해야 한다.
- 1) 인프라 요구사항: 연결된 디바이스, 센서, 액추에이터의 확산으로 인해 방대한 Fog computing 환경을 지원할 수 있는 인프라가 필요하다.논문은 센서와 액추에이터 배포가 확대되는 가운데 2020년까지 50 billion handheld devices가 존재할 것이라는 추정치를 인용한다.
- 2) 네트워크 요구사항: 수십억 개의 edge 디바이스로 인해 네트워크는 Fog의 핵심 병목이 되며, 기존 LAN, MAN, WAN, PAN 기술을 추가로 연구하고 개선해야 한다.Fog 네트워크는 동시에 연결되는 많은 디바이스를 지원해야 하며, 개별 디바이스의 대역폭 요구량은 대체로 낮다.
- 3) Fog 디바이스: Fog computing은 모든 데이터를 실시간으로 cloud에 전송하기 어려운 센서 중심 IoT 환경을 대상으로 하며, Fog 계층은 중간 processing, storage, management, gateway 서비스를 제공한다,.Fog plane은 sensor-management, processing, storage, gateway 디바이스 간 협력에 의존한다.
- 3) Fog 디바이스: IoT 디바이스는 sensing과 actuation을 수행하며, 속도, 카메라, 온도, 차량 모니터링, GPS 센서와 같은 이기종 센서에서 애플리케이션 데이터를 생성한다.일반적인 센서는 매초 10개의 데이터 샘플을 생성하며, 센서는 환경 변수를 전기 신호로 변환한다.
- 3) Fog 디바이스: 스마트폰과 Raspberry Pi 보드와 같은 디바이스는 sensing 또는 actuation 기능을 갖추면 IoT 디바이스와 Fog 디바이스로 동시에 기능할 수 있다.이는 IoT 계층과 Fog 계층에서 디바이스 역할이 중첩될 수 있도록 지원하는 이 분류체계의 특성을 보여준다.
- 3) Fog 디바이스: Fog processing 디바이스에는 computing, storage, network connectivity가 필요하며, gateway 보드는 edge 데이터 처리를 위해 이기종 하드웨어와 프로토콜을 지원한다.가능한 processing 디바이스로는 controller, switch, router, server, surveillance camera가 있으며, gateway는 데이터를 조정하고, 분석하고, 필터링하여 cloud로 전송할 수 있다.
B. PLATFORM · 2) 서비스 요구사항
Fog 플랫폼은 resource allocation, scheduling, fault tolerance, multi-tenancy, security, privacy를 통해 애플리케이션과 인프라를 관리한다. 서비스 요구사항은 지속적으로 갱신되는 결과, fault-tolerant operation, reliability, delay, throughput, energy consumption에 기반한 QoS를 강조한다.
- B. PLATFORM: Fog 플랫폼은 resource allocation, scheduling, fault tolerance, multi-tenancy, security, privacy를 조정하면서 애플리케이션과 인프라를 관리한다.이러한 요구사항은 Fog computing platform taxonomy를 통해 정의된다.
- B. PLATFORM: Heterogeneous Fog devices는 resource allocation과 scheduling을 어렵게 하며, 비효율적인 task placement는 latency-aware IoT application processing을 저해할 수 있다.복잡한 processing 문제를 일으키지 않으면서 computation power를 활용하려면 idle devices에서 tasks를 효율적으로 scheduling해야 한다.
- 2) 서비스 요구사항: Fog services는 단일 또는 다수의 user requests로 구성될 수 있으며, 사용자가 계속 구독하는 동안 그 outcomes는 지속적으로 change한다.Fog devices와 servers는 user requests와 service outputs 사이에서 intermediate processing을 수행하며, Fog servers는 cloud와 통신할 수도 있다.
- 2) 서비스 요구사항: Fault tolerance는 software, hardware 또는 network failures 이후에도 Fog systems가 작동하도록 하며, complete shutdown 대신 reduced capability로 운영될 수 있다.Fault tolerance는 주로 cloud computing에서 연구되어 왔지만 –, Fog computing에서도 별도의 연구가 필요하다.
- 2) 서비스 요구사항: Fog QoS는 resource management, power modeling, scheduling, power-failure handling과 함께 reliability, network delay, throughput, energy consumption에 좌우된다.이러한 요소는 Fog environments에서 service quality를 보장하는 데 필요하다.
- 2) 서비스 요구사항: Fog는 latency-sensitive systems를 대상으로 하므로, sensor failures가 outcome 또는 action accuracy를 낮출 수 있는 경우에도 high reliability를 유지해야 한다.Sensor failures는 resulting outcomes 또는 actions의 accuracy에 영향을 줄 수 있으므로, reliability는 핵심 QoS concern이다.
3) 보안 및 개인정보 보호 … 1) 애플리케이션 요구사항
Fog computing은 이기종·이동성·자원 제약 환경에 처리가 분산되므로 보안, 개인정보 보호, 멀티테넌시, 관리, 애플리케이션 기능의 협력이 필요하다. 애플리케이션에는 특히 확장성, 이기종성 처리, 적시 상호작용, 이동성 지원이 요구되며, 사용자와 제공자는 네트워크, 데이터, 개인정보를 보호해야 한다.
- 3) 보안 및 개인정보 보호: 민감한 사용자 데이터가 사용자나 애플리케이션의 완전한 통제 밖에 있는 중간 장치에서 처리될 수 있으므로, Fog 보안은 네트워크 연결, 데이터, 사용자 개인정보를 보호해야 한다.애플리케이션 제공자는 원치 않는 데이터 탈취도 방지해야 한다.
- 4) 멀티테넌시: 멀티테넌시는 하나의 Fog-device 인스턴스가 여러 격리된 테넌트를 서비스하도록 하며, 컨테이너 기반 또는 가상화 기반 격리를 통해 제한된 Fog 자원을 절약한다.컨테이너 기반 가상화는 일반적인 가상화 기반 접근법보다 더 가볍고 강력한 것으로 설명된다.
- 5) 관리: Fog 관리는 중앙집중식 또는 분산식일 수 있지만, 장치가 서로 다른 도메인에 속하고 애플리케이션이 여러 Fog 클러스터에 걸쳐 실행될 수 있으므로 분산 관리가 필요한 경우가 많다.분산 배포에서는 서로 다른 Fog 장치에 유사한 관리 프로세스가 필요하다.
- C. 애플리케이션: Fog 애플리케이션은 애플리케이션 계층에 정의된 명시적 실행 요구사항을 충족해야 한다.애플리케이션 요구사항에는 확장성, 이기종성, 상호작용 적시성, 이동성이 포함된다.
- 1) 애플리케이션 요구사항: 확장성은 빠르게 증가하는 IoT 장치와 서비스를 자율적으로 처리하는 능력을 요구하며, 여기에는 변화하는 장치 상태와 가용성, 장치 질의 및 선택이 포함된다.장치 수가 증가하면 Cloud 의존적 처리와 빈번하게 변하는 장치 상태 및 가용성을 유지하는 일이 어려워진다.
- 1) 애플리케이션 요구사항: 이기종성은 다양한 서비스, 프로토콜, Fog 아키텍처의 수평 및 수직 계층 전반에서 장치 복잡성을 추상화할 것을 요구한다.장치 이기종성은 IoT 시스템의 근본적 특성으로 제시된다.
- 1) 애플리케이션 요구사항: 상호작용 적시성은 Fog 및 Cloud 인프라가 여러 상호작용 모델을 통해 인지-행동 주기와 그 애플리케이션 통신 로직을 지원할 것을 요구한다.Giang et al. 은 Fog 환경에서 인지-행동 주기를 위한 네 가지 상호작용 모델을 식별했다.
- 1) 애플리케이션 요구사항: 이동성 지원은 두 평면에서 모바일 edge, computing, storage 장치를 조정해야 하며, 자원 가용성과 작업 완료를 유지하기 위해 작업 분배, 복제, 마이그레이션을 사용한다.이러한 평면 전반에서 모바일 장치를 관리하고 동기화하는 일은 어렵다.
2) 사용자 요구사항 … D. 헬스케어
이 논문은 사용자 제약, 애플리케이션 모델, 서비스 도메인을 중심으로 Fog computing 애플리케이션을 구성하고, transportation, vehicles, AR/VR, healthcare 전반에서 Fog가 latency-sensitive 및 real-time 요구사항을 어떻게 충족하는지 보여준다. 또한 taxonomy를 통해 관련 연구를 애플리케이션 차원에 매핑하고 추가 검토가 필요한 영역을 드러낸다.
- 2) 사용자 요구사항: 사용자 요구사항은 애플리케이션 제약에 따라 deadlines, budget limits, response time 또는 허용 가능한 정확도를 우선할 수 있다.일부 사용자는 정확도보다 빠른 결과를 중시하는 반면, 다른 사용자는 명시적인 시간 또는 예산 요구사항을 부과한다.
- 3) 애플리케이션 모델링: Fog 애플리케이션은 주기적인 IoT 데이터를 real-time streams로 모델링하거나 microservice-based applications를 통해 이전에 저장된 datasets를 처리할 수 있다.Microservices는 애플리케이션 기능과 필요한 libraries를 함께 결합할 수 있다.
- VI. FOG COMPUTING-BASED APPLICATIONS의 차원: Fog 기반 애플리케이션 연구는 smart transportation, augmented and virtual reality, healthcare, video streaming, smart homes, smart cities를 포괄하며, taxonomy mapping을 통해 research gaps를 식별한다.이 논문은 platform 및 application 요구사항에 따라 연구들을 평가하고, 서비스 차원들이 상호 연관되어 있음에도 연구들이 흔히 일부 측면에만 초점을 맞춘다고 지적한다.
- A. SMART TRANSPORTATION SYSTEM: Fog 기반 smart transportation 연구는 차량, 인프라, base stations 간의 신속한 의사결정과 통신을 위한 VANET 요구사항을 다룬다.Truong et al. 은 FSDN architecture에서 SDN의 programmability, flexibility, global knowledge, scalability를 Fog의 location awareness 및 time sensitivity와 결합했으며, Giang et al. 은 도시 주행 의사결정을 위한 Fog 기반 VANET applications를 검토했다.
- B. VEHICLES AS FOG INFRASTRUCTURE: Vehicular Fog Computing은 이동 중인 차량을 computation 및 communication infrastructure로 활용하고, 해당 자원을 집계해 인근 edge devices에 서비스를 제공하며 service quality를 향상한다.Hou et al. 은 connectivity 및 mobility와 관련된 관계를 연구하기 위해 다양한 시나리오에서 quantitative analysis를 수행했다.
- C. AUGMENTED AND VIRTUAL REALITY: AR 및 VR 애플리케이션은 extremely time sensitive하므로 Fog는 interaction 및 game experiences를 위한 real-time processing을 지원할 수 있다.Zao et al. 은 augmented brain-computer interaction game에서 real-time signal processing을 위해 Fog와 cloud infrastructure를 사용했다.
- D. 헬스케어: Fog는 소스 근처에서 medical data를 처리하고 emergency notifications를 생성함으로써 sensor 기반 real-time healthcare를 가능하게 한다.Rahmani et al. 은 sensor data를 처리하고 의료 응급상황에 대한 Early Warning Score를 생성하는 smart e-health gateway를 중심으로 Fog-assisted architecture를 제안했다.
E. 스마트 시티 … 1) 리소스 할당 및 스케줄링
검토한 Fog computing 연구는 스마트 시티 애플리케이션과 네 가지 연구 영역을 아우르며, 리소스 할당 및 스케줄링에 상당한 관심이 집중되어 있다. 기존 연구는 협력적 Fog–cloud 배포, 워크로드 분산, 전처리, 매핑, 동적 추정을 다루지만, 애플리케이션 및 플랫폼 수준의 측면은 여전히 충분히 탐구되지 않았다.
- E. 스마트 시티: Fog computing은 noise mapping, urban drainage, smart streets를 포함한 분산 아키텍처를 통해 실시간 스마트 시티 애플리케이션을 지원한다.Giordano et al.의 Rainbow framework는 물리 인프라와 애플리케이션 사이에 분산 agent-based intermediate layer를 사용한다.
- E. 스마트 시티: Fog-based 애플리케이션 전반에서 연구는 주로 인프라 및 애플리케이션 모델링에 집중되어 왔으며, 애플리케이션 및 플랫폼 관련 측면은 연구 공백으로 남아 있다.Table 4는 제안된 taxonomy에 따라 검토한 애플리케이션을 요약한다.
- VII. Fog computing의 state-of-the-art: state-of-the-art 검토는 리소스 할당 및 스케줄링, failure handling, simulation tools, Fog-based microservices를 다룬다.이 영역들은 기존 Fog-computing 연구에 대한 논의를 구성한다.
- A. Fog computing에서의 리소스 할당 및 스케줄링: 검토한 연구 대부분은 cloud–Fog 환경에서 리소스 할당 및 스케줄링을 다루며, 이는 Fog computing의 빠른 발전과 이기종 edge-level computation을 반영한다.검토에서는 이러한 연구를 비교하여 해당 분야의 연구 공백을 식별한다.
- 1) 리소스 할당 및 스케줄링: Fog–cloud 할당 방법은 VM capacity, completion time, service size를 사용해 요청과 워크로드를 관리하며, 최적화 framework는 power-consumption–delay trade-offs를 다룬다.Alsaar et al.은 linearized decision-tree rules를 사용하고, Deng et al.은 Hungarian 및 Generalized Benders Decomposition algorithms를 적용한다.
- 1) 리소스 할당 및 스케줄링: 배포 계획 연구는 hardware, software, QoS 적격성을 검증하고, IoT modules를 적합한 Fog–cloud nodes에 매핑하며, resource consumption 및 communication links보다 latency를 강조한다.FogTorchQ는 Monte Carlo simulation을 preprocessing 및 backtracking과 결합하고, Module Mapping Algorithm은 lower-bound searches를 사용한다.
- 1) 리소스 할당 및 스케줄링: 협력적 computation은 Fog, cloud, SDN resources 전반에 preprocessing과 workloads를 동적으로 할당하며, customer history는 dynamic resource estimation에 반영된다.Yin et al.은 H-ADMM을 사용해 social-welfare maximization을 정식화하고, Aazam et al.은 relinquish probability를 사용한다. 이 확률은 신규 고객에 대해 0.3으로 설정되며, 기존 이력 기반 추정에서는 0.1에서 시작한다.
2) Fog 환경의 자원 할당 및 스케줄링 · 3) Fog의 자원 할당 및 스케줄링 요약 · B. Fog Computing의 결함 허용
검토한 Fog 자원 할당 연구는 자율적 선택, penalty-aware 배치, incentive 기반 자원 참여를 다루지만, 연구는 여전히 할당과 cloud 기반 시뮬레이션에 집중되어 있다. 이기종 Fog 환경에서는 단일 기법보다 hybrid failure-handling 방법이 더 적절한 것으로 보이므로 fault tolerance가 특히 중요하다.
- 2) Fog 환경의 자원 할당 및 스케줄링: Ni et al. 은 사용자가 사전 할당된 그룹에서 time, price, credibility를 고려해 자원을 자율적으로 선택할 수 있도록 하는 priced timed Petri nets를 제안했다.credit limit이 높은 사용자는 신뢰성이 높은 자원을 할당할 수 있다.
- 2) Fog 환경의 자원 할당 및 스케줄링: Pooranian et al. 은 할당을 penalty-aware bin packing으로 모델링하고, idle energy, maximum frequency, maximum energy를 사용해 서버에 보상하거나 불이익을 부여했다.VM 배치는 서버 capacity, frequency, time limitation에 의해 제약된다.
- 2) Fog 환경의 자원 할당 및 스케줄링: Sun과 Zhang 은 idle local-network resources를 통합하고 소유자가 연산을 수행하도록 유도하기 위해 incentives, rewards, punishments를 적용한 crowd funding을 제안했다.이 접근법은 Pooranian et al. 과 유사한 것으로 설명된다.
- 3) Fog의 자원 할당 및 스케줄링 요약: 이 survey는 대부분의 연구가 Fog 자원 할당에 집중하며, resource sharing and workload allocation은 상대적으로 충분히 연구되지 않았다고 본다.Table 5는 조사한 자원 할당 및 scheduling 연구를 요약한다.
- 3) Fog의 자원 할당 및 스케줄링 요약: cloud 기반 시뮬레이션은 Fog에 적합하지 않은 것으로 평가된다. Fog 환경이 more heterogeneous and dynamic하기 때문에 Fog 전용 workload generation과 simulation이 필요하다.Fog의 workload generation과 simulation 모두에 대한 추가 연구가 명시적으로 요구된다.
- B. Fog Computing의 결함 허용: Fog의 고도로 분산되고 이기종인 특성 때문에 cloud보다 device failure가 발생할 가능성이 높지만, 이 survey는 기존 Fog 전용 fault-tolerance 연구가 없다고 보고한다.대신 fault tolerance는 주로 cloud computing에서 연구되어 왔다.
- B. Fog Computing의 결함 허용: cloud fault tolerance는 일반적으로 workflow 또는 task 수준에서 proactive or reactive techniques를 사용하며, migration, checkpointing, replication, rollback, recovery, resubmission을 포함한다.Fog의 fault handling은 processing뿐 아니라 transmission과 reception도 다뤄야 한다.
- B. Fog Computing의 결함 허용: Fog의 불안정한 failure behavior와 이기종 특성 때문에 Hybrid failure handling이 더 적절한 것으로 평가된다.검토한 접근법에는 standby replacement, checkpointing, migration, 그리고 hardware-health indicators에 기반한 proactive monitoring이 포함된다.
C. FOG COMPUTING을 위한 SIMULATION TOOLS … 2) MICRO SERVICES와 IoT APPLICATIONS
Fog computing 시뮬레이션 연구는 여전히 제한적이며 중요한 네트워크 및 virtualization 요소를 반영하지 못한다. 한편 microservices는 resource-constrained, time-sensitive IoT applications를 위한 modular 접근법을 제공한다. 기존 microservice 연구는 heterogeneous IoT 및 Fog architectures를 다루지만, Fog-based microservices는 분산 컴퓨팅의 여러 과제가 해결되지 않은 미개척 영역으로 남아 있다.
- C. FOG COMPUTING을 위한 SIMULATION TOOLS: Fog simulation 연구는 여전히 초기 단계에 있으며, 기존 연구는 resource prediction, pricing, smart-city incident-detection queries와 같은 특정 측면을 대상으로 한다.Aazam과 Huh 는 미래 user behavior로부터 resource requirements를 모델링했고, Dastjerdi et al. 는 query DAGs를 연구했다. 두 연구 모두 CloudSim 을 사용했다.
- C. FOG COMPUTING을 위한 SIMULATION TOOLS: Fog deployment에는 새롭게 등장하는 5G-integrated environments를 지원하기 위해 containers, Software-defined Networking, Network Function Virtualization을 지원하는 simulator가 필요하다.이 논문은 5G Technologies, NFV, SDN과의 integration을 deployment challenge로 지적한다.
- C. FOG COMPUTING을 위한 SIMULATION TOOLS: 널리 사용되는 두 Fog simulator는 bandwidth distribution, round-trip delay, container-based virtualization을 반영하지 않아 latency 중심 및 deployment 현실성을 갖춘 평가를 제한한다.latency minimization이 목표일 때 network parameters가 결과에 큰 영향을 미치므로 이러한 누락은 중요하다.
- D. FOG-BASED MICRO SERVICES: Microservices는 distributed applications를 독립적으로 구현된 functionality-specific processes로 분할하며, 이 프로세스들은 message passing과 명확한 APIs를 통해 통신한다.이 구조는 scalability와 maintainability를 향상시키면서 mainstream programming models도 사용할 수 있게 한다.
- D. FOG-BASED MICRO SERVICES: Microservices는 agility와 modularity를 통해 Fog resource limitations에서 발생하는 complexity를 줄이므로 Fog-based IoT development에 적합하다.Independent services는 대규모 systems를 더 작은 components로 나누어 IoT applications의 deployment를 편리하게 한다.
- 1) Current research aspects of microservice: Fog-based microservices에 대한 연구는 heterogeneous devices, communication protocols, service orchestration, programmable self-managing IoT platforms, –를 다루고 있지만 여전히 충분히 연구되지 않았다.보고된 architectures는 scalability, flexibility, platform independence 측면에서 monolithic designs보다 이점을 보이지만, network faults, delay, serialization, transaction-processing 과제에 직면한다.
E. FOG 기반 모바일 컴퓨팅 … 3) Fog의 상호운용성과 연합
모바일 Fog computing은 인근 Fog devices로 computation과 content를 offloading하여 증가하는 지리적으로 분산된 content 수요에 대응하지만, 분산 관리, 상호운용성, 연합이 필요하다. 이 논문은 Fog의 향후 연구와 시장 도입을 좌우하는 deployment-tier, 표준화, 확장성 과제를 식별한다.
- E. FOG 기반 모바일 컴퓨팅: 모바일 Fog computing은 content와 computation을 인근 Fog devices로 offloading하지만, 자원 제약이 있는 노드에서는 수요 인지형 분산, 모니터링, cache management가 여전히 어렵다.이러한 과제는 인구 밀도가 높은 모바일 사용자들이 대량의 동시 content 요청을 생성하면서 발생한다.
- E. FOG 기반 모바일 컴퓨팅: 모바일 Fog 연구는 이기종 geospatial applications를 위한 programming models, CoAP microservices를 활용한 peer-to-peer resource sharing, content offloading, 계층적 WSN–cloud communication을 탐구한다.Hong et al. 는 개발 단순화와 동적 resource scaling을 목표로 하고, Shi et al. 는 mobile-device resource sharing을 도입하며, Khan et al. 은 content offloading을 조사하고, Wang et al. 은 routing 및 Fog layers를 통해 WSNs와 cloud를 연결한다.
- VIII. OPEN ISSUES AND FUTURE RESEARCH DIRECTIONS: 이 논문은 Fog computing의 연구 과제와 향후 방향을 지속적인 조사가 필요한 open-issues 영역으로 식별한다.Figure 10은 논문에서 논의한 연구 과제를 요약한다.
- A. INFRASTRUCTURE-RELATED ISSUES: Fog는 time-sensitive applications를 지원하기 위해 시장 도입을 향해 발전해야 하며, OpenFog는 학계와 산업계가 핵심 표준화 이니셔티브로 설립했다.이 컨소시엄은 ARM, Cisco, Dell, Intel, Microsoft, Princeton University가 2015년 십일월에 설립했다.
- 1) Deployment issues: OpenFog의 N-tier deployment는 tier가 늘어날수록 latency를 유발할 수 있으므로, level 수는 workload, sensor scale, device capability, latency, reliability requirements에 따라 선택해야 한다.Deployment 결정은 각 tier에 할당된 task와 대상 use case의 capability 및 requirements에 따라 달라진다.
- 2) Standard architecture for Fog computing: Fog computing에는 정의된 표준 architecture가 없지만, OpenFog는 2016년과 2017년에 performance, manageability, security, data analytics, control을 다루는 architecture versions를 발표했다.두 번째 draft는 최초의 architectural overview를 확장하여 더 상세한 내용을 담았다.
- 3) Fog의 상호운용성과 연합: Fog devices가 동시에 발생하는 latency-aware requests를 처리할 수 없을 때 이를 cloud로 보내면 latency requirements를 위반하므로, Fog clusters와 servers 간 interoperability and federation이 필요하다.인근 Fog processing은 latency를 최소화하지만, 과부하된 Fog devices에는 조정된 대안이 필요하기 때문에 발생하는 문제다.
B. 플랫폼 관련 이슈 … IX. 결론
이 논문은 Fog computing에서 동적 자원, 장애, 연결성, 참여, 보안, 서비스 관리, 상호운용성을 포함한 플랫폼 및 애플리케이션 과제를 식별한다. 또한 Fog computing이 아직 성숙하지 않았으며 taxonomy와 지원 기술 전반에 걸친 추가 연구가 필요하다고 결론짓는다.
- B. 플랫폼 관련 이슈: Fog 자원 관리는 디바이스가 매우 동적이고 이질적이며, 자원과 로컬 애플리케이션 workload가 서로 다르기 때문에 어렵다.
- 2) 장애 관리: Fog 디바이스는 분산 관리, 하드웨어 및 소프트웨어 결함, 사용자 활동, 불안정한 무선 링크, 이동성, 전력 제약으로 인해 동작이 중단될 수 있어 장애 위험이 높다.
- 3) 서로 다른 계층 간 통신: 클라우드 연결이 실패하더라도 시간 민감형 애플리케이션을 위해 IoT 디바이스, Fog, cloud 사이의 지속적인 cross-layer 연결성이 필수적이다.연결성 장애는 autonomous-car, drone 또는 emergency-surveillance 애플리케이션에 심각한 피해를 줄 수 있다.
- 4) 사용자 참여 관리: Fog 서비스 관리는 실현 가능한 자원 배치와 incentive- 또는 reward- 기반 정책을 통해 불확실한 사용자 참여에 대응해야 한다.
- C. 애플리케이션 관련 이슈: 분산된 소유권은 참여자 디바이스, 사용자 데이터, 계층 간 통신에 보안 및 프라이버시 위험을 초래하므로, 중앙 구성요소와 독립적인 분산 보안 관리가 필요하다.
- 1) 애플리케이션 서비스 관리: Fog는 수십억 개의 IoT 디바이스 전반에서 다양한 서비스 가용성과 품질을 관리해야 하며, 이는 microservice-based 서비스와 추가적인 Fog 기반 연구의 필요성을 높인다.
- 1) 애플리케이션 서비스 관리: IoT 디바이스가 서로 다른 프로토콜과 코드 집합을 사용하기 때문에 Fog 애플리케이션 모델링은 어렵고, 표준 통신 프로토콜과 쉽게 배포할 수 있는 범용 애플리케이션이 필요하다.
- IX. 결론: 이 survey는 Fog computing이 아직 초기 단계에 있으며 taxonomy, 아키텍처, state of the art, 자원 할당, scheduling, fault tolerance, simulation tools 전반에 걸친 더욱 폭넓은 연구가 필요하다고 결론짓는다.