• 검색 결과가 없습니다.

Expert System-based Context Awareness for Edge Computing in IoT Environment

N/A
N/A
Protected

Academic year: 2021

Share "Expert System-based Context Awareness for Edge Computing in IoT Environment"

Copied!
10
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

Journal of Internet Computing and Services(JICS) 2017. Apr: 18(2): 21-30 21

IoT 환경에서 Edge Computing을 위한 전문가 시스템 기반 상황 인식

Expert System-based Context Awareness for Edge Computing in IoT Environment

송 준 석1 이 병 준1 김 경 태1 윤 희 용1*

Junseok Song Byungjun Lee Kyung Tae Kim Hee Yong Youn 요 약

모든 사물에서 네트워크 및 컴퓨팅이 가능한 IoT(Internet of Things) 환경이 빠르게 확산되고 있다. IoT 환경은 클라우드 기반 중앙 처리 구조를 통해 데이터를 처리하고 사용자에게 서비스를 제공하기 때문에 병목현상 및 서비스 지연이 발생할 수 있다. 이를 해결 하기 위해, 최근 단말 IoT 노드와 네트워크에서 직접 데이터를 처리하여 사용자에게 서비스를 제공하는 Edge Computing이 주목받고 있으며 이러한 Edge Computing 환경에서 사용자에게 효율적으로 지능형 서비스를 제공하기 위한 연구가 지속되고 있다. 본 논문에 서는 IoT 환경에서 Edge Computing을 위한 전문가 시스템 기반 상황 인식 서비스 기법을 제안한다. 제안하는 기법은 자원 제한적인 IoT 노드 간 효율적인 협업을 기반으로 데이터를 실시간으로 처리하고 상황 인식을 통해 사용자에게 최적화된 맞춤형 서비스를 제공 한다. 또한, 사용자는 사용 용도에 따라 직접 상황 인식 서비스를 수정하여 원하는 서비스를 제공받을 수 있다. 제안하는 기법을 스마 트 홈 환경에서 3가지 방범 서비스 모드를 이용하여 테스트하였으며, 본 논문의 IoT 기반 전문가 시스템 서버와 기존 PC 기반 전문가 시스템 서버의 자원 소모량을 비교하여 제안하는 기법의 안정성을 입증하였다.

☞ 주제어 : 사물인터넷, 엣지 컴퓨팅, 전문가 시스템, 상황 인식, 추론 엔진 ABSTRACT

IoT(Internet of Things) can enable networking and computing using any devices is rapidly proliferated. In the existing IoT environment, bottlenecks and service delays can occur because it processes data and provides services to users using central processing based on Cloud. For this reason, Edge Computing processes data directly in IoT nodes and networks to provide the services to the users has attracted attention. Also, numerous researchers have been attracted to intelligent service efficiently based on Edge Computing. In this paper, expert system-based context awareness scheme for Edge Computing in IoT environment is proposed. The proposed scheme can provide customized services to the users using context awareness and process data in real-time using the expert system based on efficient cooperations of resource limited IoT nodes. The context awareness services can be modified by the users according to the usage purpose. The three service modes in the security system based on smart home are used to test the proposed scheme and the stability of the proposed scheme is proven by a comparison of the resource consumptions of the servers between the proposed scheme and the PC-based expert system.

keyword : IoT, Internet of Things, Edge Computing, Expert System, Context Awareness, Inference Engine

1. 서 론

최근 디바이스 크기의 소형화, 저전력·고성능 프로세

1College of Software, Sungkyunkwan University, Suwon, 16419, Korea.

* Corresponding author ([email protected])

[Received 25 January 2017, Reviewed 31 January 2017, Accepted 16 February 2017]

본 연구는 BK21Plus 사업, 한국연구재단 기초연구사업(No.

2017R1A2B2009095), (No. 2016R1A6A3A11931385), 미래창조 과학부 및 정보통신기술진흥센터의 정보통신·방송 연구개발 사업 (No. B0717-17-0070)의 일환으로 수행되었음.

서의 발전으로 유비쿼터스를 넘어 IoT(Internet of Things) 환경이 빠르게 확산중이다. IoT는 모든 사물을 네트워크 로 연결하여 사물이 가진 특성을 지능화하고, 이를 통해 사람의 개입 없이 스스로 다른 사물, 사람, 시스템과 연동 하여 정보를 생성하고 동작하는 환경을 의미한다. IoT가 주목받기 시작하며 다양한 사양의 IoT 디바이스들이 지 속적으로 개발되고 있으며, 이를 효과적으로 활용하기 위 해 국내 및 해외 기업들은 삼성 Smart Things, 아마존 AWS IoT와 같은 IoT 서비스를 제품화하고 있다[1].

IoT 환경은 사용자 주변 환경의 정보를 수집하고 이를 기반으로 적합한 서비스를 제공하기 때문에 사용자의 일 ISSN 2287-1136 (Online)

http://www.jksii.or.kr

(2)

상생활을 전반적으로 지원하여 삶의 질을 향상시킬 수 있다. 최근 이러한 IoT 환경에서 사용자에게 지능적인 서 비스를 제공하기 위한 연구가 활발히 이루어지고 있다.

특히, 사용자의 주변 상황을 파악하여 상황에 적합한 맞 춤형 서비스를 제공하는 상황 인식(Context awareness)이 주목받고 있는데[2], 상황 인식은 동적으로 변화하는 상 황 정보를 이용하여 사용자에게 최적화된 서비스를 제공 할 수 있다. IoT 환경에서는 사용자 지근거리에 설치된 IoT 노드를 이용하여 상황 정보를 수집하고 상황 인식 서 비스를 제공하기 때문에, 안정적인 서비스 제공을 위해 자원 제한적인 IoT 노드의 효율적인 활용이 필요하다.

기존 IoT 환경에서는 상황 인식 서비스를 제공하기 위 해 주변 곳곳에 배치된 IoT 노드에서 데이터를 수집하고 수집된 데이터를 클라우드(Cloud)로 전송한 후 클라우드 에서 처리 및 분석하여 사용자에게 서비스를 제공한다 [3]. 전체 서비스 로직 중 IoT 노드는 데이터 수집 및 사용 자와의 커뮤니케이션을 담당하고 클라우드는 기계 학습, 추론 엔진과 같은 지능화 알고리즘을 통해 사용자에게 적합한 서비스를 정의한다. 그러나, 이와 같은 클라우드 기반 중앙 집중 방식의 처리 구조로 인해 병목현상이 발 생하여 데이터의 실시간 처리가 어렵고 클라우드에 장애 가 발생할 경우 전체 서비스가 지연되거나 중단될 수 있 다. 이런 문제점은 응급의료, 화재·방범 서비스와 같이 신 속한 대응을 요구하는 서비스에 치명적으로 작용한다[4].

이로 인해, 단말 IoT 노드와 네트워크에서 직접 데이터를 처리 및 활용하여 사용자에게 실시간으로 지능형 서비스 를 제공할 수 있는 Edge Computing이 주목받고 있다.

본 논문에서는 IoT 환경에서 Edge Computing을 위한 전문가 시스템 기반 상황 인식 서비스 기법을 제안한다.

본 논문에서 제안하는 기법은 IoT 환경에서 Edge Computing을 위해 각 IoT 노드 간 협업으로 실시간성이 필요한 데이터를 저장 및 처리함으로써 데이터 처리 시 간을 비약적으로 감소시키며, IoT 노드에서의 추론엔진 을 통해 상황 정보를 분석 및 활용하여 사용자에게 최적 화된 서비스를 제공한다. 따라서 IoT 환경에서 사용자에 게 항상 안정적으로 맞춤형 서비스를 제공할 수 있으며, 수집되는 정보가 민감한 가정이나 긴급한 이벤트에 즉각 적으로 반응하여야 하는 특수한 산업 분야 등 다양한 환 경에서 응용 가능하다. 제안하는 기법을 위해 이기종 센 서 데이터 규격화를 위한 상황 정보 모델링, 경량화 추론 엔진, 저전력 통신 프로토콜, 상황 정보 및 규칙 데이터 관리를 위한 데이터베이스를 기반으로 상황 인식 서비스 를 제공하는 IoT 기반 전문가 시스템을 사용하였다. 해당

시스템의 동작은 클라이언트 등록, 데이터 수집, 추론 및 서비스 실행으로 이루어져 있으며, 최근에 갱신된 상황 정보를 기준으로 규칙 실행의 우선순위를 결정하여 추론 시 규칙 간의 충돌을 방지하였다. 본 논문에서 제안하는 기법을 스마트 홈 환경에서 3가지 방범 서비스 모드를 이 용하여 테스트하였으며, 본 논문의 IoT 기반 전문가 시스 템 서버와 기존 PC 기반 전문가 시스템 서버의 자원 소모 량을 비교하여 제안하는 기법의 안정성을 입증하였다.

본 논문의 구성은 다음과 같다. 1장 서론에 이어 2장에 서는 Edge Computing과 IoT 환경에서 상황 인식을 위한 기반 기술에 대해 기술하였다. 3장에서는 IoT 환경에서 Edge Computing을 위한 전문가 시스템 기반 상황 인식 기 법을 제안하였고, 4장에서는 이를 구현 및 테스트하였다.

마지막으로 5장에서는 결론을 맺는다.

2. 관련연구

2.1 Edge Computing

IoT 시장의 증가에 따라 IoT 환경을 위한 다양한 IoT 서비스가 출시되고 있다. 아마존의 AWS IoT와 삼성의 Smart Things와 같은 기존 IoT 서비스는 다양한 IoT 노드 들의 상호작용을 제공하지만 클라우드 기반 중앙 집중 처리 구조로 인해 병목현상이 발생하여 즉각적인 데이터 처리가 어렵고 클라우드에 장애 발생 시 전체 서비스가 지연되는 문제점이 있다. 이로 인해, 최근 클라우드 기반 IoT 서비스를 네트워크로 확장하여 데이터가 클라우드에 접근하는 지연시간을 줄이고 단말 IoT 노드에서 직접 데 이터를 처리하고 분석 및 활용하여 서비스 품질을 개선 시키는 Edge Computing에 대한 연구가 활발히 이루어지 고 있다[5]. Edge Computing의 구조는 (그림 1)과 같다.

(그림 1) Edge Computing 구조 (Figure 1) Architecture of Edge Computing

(3)

Edge Computing은 IoT 환경에서 발생하는 방대한 양의 데이터를 네트워크 엣지(Network Edge)에서 처리하고 활 용하여 전체 데이터 분석 속도를 향상시키고 사용자에게 더욱 빠르게 서비스를 제공할 수 있으며, 시스템 가용성 을 향상시킨다. 이러한 Edge Computing은 기존 IoT 서비 스부터 증강현실, 실시간 비디오 분석, 상황 인식, 기계 학습 등 고성능 컴퓨팅 및 실시간 데이터 처리가 필요한 분야에서 적용될 수 있다.

2.2 상황 정보 모델링

상황 인식은 컴퓨터가 사람처럼 사용자의 주변 상황 정보를 복합적으로 이해하여 그에 적합한 서비스를 능동 적으로 제공하는 기술이다[6]. 상황 정보 모델링은 상황 인식에서 추상적인 상황 정보를 표현하기 위해 사용된다.

여기서 상황 정보란 상황 인식을 위한 최소 데이터 단위 이며, 개체의 상태를 특성화하기 위해 사용될 수 있는 임 의의 정보이다. 상황 정보는 상황을 표현하는 모든 사람, 장소, 물체 및 이들 간의 관계 정보를 포함한 모든 것이 될 수 있다. 상황 정보 모델링을 통해 추상적인 개념의 상 황 정보를 단편적인 데이터를 이용하여 표현이 가능해지 며, 이러한 모델링을 위한 대표적인 규격으로는 RDF (Resource Description Framework)의 Triple 구조가 있다[7].

RDF는 WWW (World Wide Web) Consortium에서 제안한 XML 기반 데이터 표현 구조이며, 웹상에 존재하는 데이 터 간의 정보 교환 과정에서 효율적인 메타데이터 교환 및 상호 호환을 목적으로 한다. 이를 위해, RDF는 데이터 및 메타데이터가 가지고 있는 시멘틱을 XML 형태로 구 조화하고 RDF 데이터 모델인 데이터와 해당 데이터에 대 한 정보를 Triple 구조 형태로 표현한다. Triple 구조는 (그 림 2)와 같이 주어(Subject), 술어(Predicate), 목적어(Object) 을 이용하여 현재 상황을 표현하는데, 주어는 표현 되는 상황의 주체, 목적어는 주어와 술어로 표현되는 관계를 가지는 객체, 술어는 타 객체와의 관계 등을 표현하는 메 타데이터이다.

(그림 2) RDF의 Triple 구조 (Figure 2) Triple structure of RDF

2.3 규칙 기반 추론 엔진

규칙 기반 추론 엔진은 전문가 시스템에서 상황 인식 서비스를 제공하기 위한 핵심 기술이다. 전문가 시스템 기반 상황 인식에서 추론이란 기존에 주어진 규칙을 이 용하여 현재 상황 정보를 기반으로 새로운 상황 정보를 도출하는 과정을 말한다. 이러한 추론을 위해서는 목적에 맞는 추론 알고리즘과 추론 과정에서 발생하는 규칙 간 의 충돌을 방지하거나 해결하는 기법이 필요하다. 대표적 인 추론 알고리즘으로는 전향 추론 알고리즘과 후향 추 론 알고리즘이 있다. 전향 추론 알고리즘은 현재 상황 정 보 간의 관계를 이용하여 결론을 도출하는 알고리즘이며, 후향 추론 알고리즘은 반대로 현재 상황이 어떠한 과정 을 거쳐서 도출되었는지 원인을 찾는 알고리즘이다[8].

(그림 3)은 전향 추론 알고리즘의 순서도이다.

(그림 3) 전향 추론 알고리즘 순서도

(Figure 3) Flow chart of forward chaining algorithm

추론 엔진은 이러한 추론 알고리즘을 이용하는 소프트 웨어 도구로써 조건과 실행으로 구성된 규착과 사실을 이용하여 동작하며, 규칙의 조건부와 사실을 비교하여 동 일한 경우 실행부분을 구동하여 새로운 사실을 도출한다.

2.4 CoAP

IoT 환경에서 시스템 개발 시 가장 고려해야할 유의점 중 하나는 제한된 자원이다. 이는 응용 프로그램의 로직 뿐만 아니라 IoT 노드와 외부 간의 통신에서도 큰 제약사 항이 된다. CoAP(Constrained Application Protocol) 프로토 콜은 이러한 저전력 네트워크 환경을 위해 개발되었으며, RESTful 개념을 채택하여 자원 효율성이 높고 HTTP 프 로토콜과 유사한 포맷을 사용하기 때문에 어플리케이션 과의 연동이 편리하다[9]. 최근에는 IoT 환경에서 네트워 크 혼잡으로 인한 네트워크 응답지연이나 패킷 손실 등 을 방지하기 위한 혼잡 제어 기법이 연구되고 있다.

(4)

(그림 5) IoT 기반 전문가 시스템 구조도 (Figure 5) Architecture of the proposed scheme

3. IoT 기반 전문가 시스템을 이용한 상황 인식

3.1 상황 인식 서비스 개요

본 논문에서는 IoT 환경에서 Edge Computing을 위한 전문가 시스템 기반 상황 인식 서비스 기법을 제안한다.

제안하는 전문가 시스템 기반 상황 인식 서비스 기법 은 IoT 환경에서 IoT 노드 간 효율적인 협업을 기반으로 데이터를 처리하고 상황 인식을 통해 주변 상황을 인식 하여 사용자에게 적합한 서비스를 실시간으로 제공한다.

제안하는 상황 인식 서비스 기법의 개요도는 (그림 4)와 같으며, 이를 위해 IoT 기반 전문가 시스템을 사용하였다.

(그림 4) 제안하는 상황 인식 서비스 개요도 (Figure 4) Overview of the proposed scheme

제안하는 기법에서 IoT 기반 전문가 시스템은 IoT 환

경의 IoT 노드 중 하나를 서버 노드로 사용한다. 사용자 가 직접 시스템에 상황 인식 서비스 규칙을 입력하여 시 스템의 사용 용도에 따라 서비스를 수정할 수 있다. 사용 자가 원하는 서비스의 규칙을 설정하고 시스템을 실행하 면 서버 노드를 제외한 클라이언트 노드는 연결된 센서 를 이용하여 센서 데이터를 수집한다. 수집된 센서 데이 터는 서버 노드의 부하를 줄이기 위해 클라이언트 노드 에서 상황 정보 포맷으로 규격화되어 서버 노드에 전송 된다. 서버 노드는 수집된 상황 정보와 입력된 규칙을 이 용하여 현재 상황에 적합한 서비스를 추론하고 도출된 서비스를 제공할 수 있는 클라이언트 노드에 서비스 정 보를 전달한다. 클라이언트 노드는 서비스 정보를 바탕으 로 사용자에게 직접적으로 맞춤형 서비스를 제공한다.

3.2 상황 인식 서비스를 위한 전문가 시스템 구성 제안하는 기법을 위해 본 논문에서는 (그림 5)와 같이 IoT 기반 전문가 시스템을 사용하였으며, 해당 시스템은 이기종 센서 데이터 규격화를 위한 RDF의 Triple 구조 기 반 상황 정보 모델링, 전향 추론을 이용한 경량화 추론 엔 진, 저전력 CoAP 통신 프로토콜, 상황 정보와 규칙 데이 터 관리를 위한 데이터베이스를 기반으로 동작한다.

IoT 기반 전문가 시스템의 클라이언트 노드는 Collect 모듈의 센서를 통해 주변 데이터를 수집하며, 수집된 데 이터는 Context manage 모듈에서 주어, 술어, 목적어 형태 의 Tripel 구조 기반 상황 정보로 변한다. 이러한 표준화 과정을 통해 이기종 센서 데이터의 통합사용이 가능하다.

또한, Communication 모듈을 이용하여 CoAP 프로토콜을 기반으로 서버 노드와 통신하며, Service 모듈로 사용자에 게 상황 인식 서비스를 제공한다.

(5)

서버 노드는 Context manage와 Rule manage 모듈을 통 해 상황 정보와 규칙을 관리한다. Context manage 모듈은 서버 노드로 전송된 클라이언트 노드 정보와 상황 정보 의 데이터 포맷을 변환하여 데이터베이스에 저장한다.

Rule manage 모듈은 (그림 6)과 같이 사용자가 직접 생성 한 XML 문서 형태의 규칙 데이터를 파싱하고 이를 데이 터베이스에 저장한다. 사용자는 IoT 기반 전문가 시스템 에 등록된 서비스 규칙을 변경함으로써 다양한 상황 인 식 서비스를 제공받을 수 있다.

(그림 6) 규칙 데이터 예시 (Figure 6) Example of rule

서버 노드의 데이터베이스는 현재 상황에 적합한 서비 스를 사용자에게 제공하기 위해 필요한 모든 데이터를 저장 및 관리한다. 데이터베이스의 테이블은 IoT 시스템 에 연결된 클라이언트 노드의 정보를 저장하는 Client 테 이블, 클라이언트에서 전송받은 상황 정보를 저장하는 Context 테이블, 사용자가 생성하여 등록한 규칙 데이터 를 저장하는 Rule 테이블, 사용자 룰과 상황 정보 매치 시 생성되는 상황 정보를 저장하는 Execute로 이루어져 있으 며, 전체 데이터 테이블 구조는 (그림 7)과 같다.

(그림 7) 데이터베이스 테이블 구조 (Figure 7) Structure of database tables

추론 엔진은 데이터베이스에 저장된 상황 정보와 규칙 데이터를 이용하여 전향 추론 알고리즘을 기반으로 동작 하며 가장 최근에 갱신된 상황 정보를 기준으로 규칙 실 행의 우선순위를 결정하여 추론 과정에서 발생할 수 있 는 규칙 충돌을 방지한다.

이와 같이 본 논문에서 제안하는 기법은 상황 정보 모 델링, 경량화 추론 엔진, 저전력 통신 프로토콜을 이용한 IoT 노드 간 협업으로 데이터를 처리하고 주변 상황을 인 식하여 사용자에게 적합한 상황 인식 서비스를 제공한다.

3.3 상황 인식 서비스 동작 절차

제안하는 상황 인식 서비스 기법의 전체 동작 절차는 (그림 8)과 같이 클라이언트 등록(Client registration), 데이 터 수집(Data collection), 추론 및 서비스 실행(Inference &

activate service)으로 이루어져 있다.

첫 번째로, IoT 기반 전문가 시스템의 서버 노드는 상 황 정보 수집과 상황 인식 서비스 제공을 위해 다수의 클 라이언트 노드와 연동한다. 각 클라이언트 노드는 실행과 동시에 내장되어 있는 클라이언트 노드 정보를 CoAP 통 신의 PUT message를 이용하여 서버 노드에 전송한다. 클 라이언트 노드 정보는 클라이언트 노드 IP, 클라이언트 노드에 연결된 센서 정보, 센서의 동작 가능 여부로 이루 어져 있으며, 서버 노드는 전송받은 클라이언트 노드 정 보를 데이터베이스에 저장하여 해당 클라이언트 노드를 등록하고 등록 결과를 클라이언트 노드에 전송한다. 클라 이언트 노드는 등록 결과를 확인 후 연결된 센서를 이용 하여 센서 데이터 수집 및 서비스 제공을 시작한다.

클라이언트 등록 후 서버 노드는 클라이언트 노드에서 수집된 상황 정보를 서버 노드에 저장하기 위해 등록된 모든 클라이언트 노드에게 CoAP 통신의 GET message를 보낸다. 클라이언트 노드는 지속적으로 센서 데이터를 수 집하고 내장된 메타데이터를 기반으로 수집된 데이터를 상황 정보로 변환하여 저장하며, Get message를 수신하면 마지막으로 저장된 상황 정보를 서버 노드로 전송한다.

서버 노드는 모든 클라이언트 노드에서 전송받은 상황 정보를 데이터베이스에 저장한다.

데이터 수집 후 사용자에게 맞춤형 서비스를 제공하기 위해 서버 노드는 사용자가 생성한 규칙 데이터를 데이 터베이스에 저장하여 상황 인식 서비스를 정의한다. 추론 엔진은 데이터베이스에 저장된 상황 정보와 규칙 데이터 를 이용하여 주변 상황을 추론한다. 추론 과정에서 새로 운 상황 정보가 발생하면 추론 엔진은 추론을 중단하며, 도출된 상황 정보를 데이터베이스에 저장하고 해당 상황 정보를 포함하여 다시 추론을 실행한다. 추론 중 도출된 상황 정보가 사용자에게 제공되어야하는 서비스인 경우 상황 정보의 주어 및 술어와 매치되는 클라이언트 노드 를 찾아 CoAP 통신의 PUT message를 보낸다. PUT message를 받은 클라이언트 노드는 연결된 센서를 이용 하여 사용자에게 서비스를 제공하며 동작 결과를 상황 정보로 표현하여 다시 서버 노드로 전송한다. 서버 노드 는 서비스 실행 결과에 대한 상황 정보를 데이터베이스 에 저장하고 이를 포함하여 다시 추론 엔진을 실행한다.

(6)

(그림 8) 제안하는 상황 인식 서비스 동작 절차 (Figure 8) Procedure of the proposed scheme

이와 같이 추론 엔진은 도출된 상황 정보를 지속적으 로 포함하여 추론을 반복적으로 수행하며 데이터베이스 에 저장된 모든 상황 정보와 규칙 데이터에서 새로운 상 황 정보가 도출되지 않으면 추론을 종료한다. 추론 엔진 의 추론 실행 주기는 사용자가 원하는 상황 인식 서비스 에 따라 설정할 수 있다. 본 논문에서는 제안하는 상황 인 식 서비스 기법을 4장의 스마트 홈 환경에서 3가지 방범 서비스 모드를 이용하여 테스트하였다.

4. 전문가 시스템 구현 및 테스트

4.1 구현 및 테스트 환경

제안하는 상황 인식 서비스 기법을 위한 IoT 기반 전 문가 시스템을 구현하기 위해 서버 노드 1대와 클라이언 트 노드 3대를 이용하였으며 구현 환경은 다음과 같다.

서버 노드는 삼성 Artik 10을 기반으로 JAVA 언어로 구 현되었으며 Maria DB 데이터베이스와 자체 제작한 경량

(7)

Artik10 Raspberry Pi CPU ARM A15x4 @ 1.3GHz

+ A7x4 @ 1.0GHz

ARM11 @ 700MHz

RAM 2 GB 512 MB

OS Fedora 22 Raspbian(Linux)

Language JAVA C

DB Maria DB -

Sensor - HD-SEN0018

COM05051P 화 전향 추론 엔진을 사용하였다. 또한, XML 언어를 이 용하여 사용자가 정의한 서비스의 규칙을 표현하였다. 클 라이언트 노드는 Raspberry Pi B+을 기반으로 C 언어를 이 용하여 구현되었으며 테스트를 위해 HD-SEN0018 모션센 서, COM05051P 스피커를 사용하였다. 서버 클라이언트 간 통신은 CoAP 라이브러리를 이용하여 구현되었으며, 전체 시스템의 구현 및 테스트 환경은 (표 1)과 같다.

(표 1) 구현 및 테스트 환경

(Table 1) Implement and test environment

4.2 전문가 시스템 테스트

본 논문에서는 스마트 홈 환경에서 3가지 방범 서비스 모드를 이용하여 제안하는 상황 인식 서비스 기법을 테 스트하였다. 스마트 홈은 침실(방 1)과 파티 룸(방 2)으로 이루어져 있다고 가정하였으며 각 방마다 모션센서가 연 결된 클라이언트 노드가 설치되어 움직임을 감지한다. 스 피커가 연결된 클라이언트 노드는 침입자 발생 시 경보 음을 울려 침입자 발생을 알린다. 스마트 홈 환경의 방범 서비스에서 발생 가능한 상황 정보와 방범 서비스를 제 공하기 위한 규칙은 (표 2), (표 3)과 같다.

(표 2) 방범 시스템 상황 정보

(Table 2) Context data of security system

Context Subject Predicate Object

A family_member not_exist in_the_home B family_member not_exist in_the_room1 C family_member not_exist in_the_room2

D room1 detect motion

E room2 detect motion

F speaker activate alarm

G thief enter home

H system call police

(표 3) 방범 시스템 규칙

(Table 3) Rules of security system

Rule Precondition Postcondition

1 room1 detect motion speaker activate alarm 2 room2 detect motion speaker activate alarm 3

speaker activate alarm

thief enter home family_member

not_exist in_the_home

4

speaker activate alarm

thief enter home family_member

not_exist in_the_room1 5

speaker activate alarm

thief enter home family_member

not_exist in_the_room2

6 thief enter home system call police

사용자는 사용 용도에 따라 IoT 기반 전문가 시스템에 등록된 방범 서비스 규칙을 변경함으로써 스마트 홈 환 경에서 원하는 방범 서비스를 제공받을 수 있다. 제안하 는 기법을 테스트하기 위해 스마트 홈 환경에서 외출, 취 침, 파티 방범 서비스 모드를 이용하였다.

4.2.1 외출 모드

스마트 홈의 구성원이 모두 외출하는 경우 사용자는 외출 시 방범 서비스를 위해 IoT 기반 전문가 시스템에 (표 3)의 규칙 1번, 2번, 3번, 6번을 등록하고 모든 구성원 이 외출 했다는 (표 2)의 상황 정보 A를 추가하여 방범 서 비스를 실행한다. 서비스 실행 후 침실과 파티 룸에서 움 직임 감지 시 시스템의 추론 과정은 그림 9와 같다.

(그림 9) 외출 모드 시 추론 과정

(Figure 9) Flow chart of Inference for outing

침실과 파티 룸에서 움직임이 감지되어 상황 정보 D 와 E가 발생하면 규칙 충돌 방지를 위한 우선순위에 따라 규칙 2번이 실행되어 새로운 상황 정보 F가 도출되고 경

(8)

구 분 구성요소 내용

PC

CPU Intel(R) Core(TM)2 Duo CPU E7500 @ 2.93GHz

RAM 3 GB

OS Fedora 22 Language JAVA

DB Maria DB

보음이 울린다. 이후 규칙 3번이 실행되어 상황 정보 F와 A에서 상황 정보 G가 도출되며, 시스템에서 침입자 발생 을 인지한다. 마지막으로 규칙 6번을 통해 상황 정보 G에 서 상황 정보 H가 도출되며 침입자 발생을 경찰에 알린다.

4.2.2 취침 모드

사용자는 취침 시 보안을 위해 IoT 기반 전문가 시스 템에 규칙 2번, 5번, 6번을 등록하고 침실 외에 다른 방에 구성원이 존재하지 않는다는 상황 정보 C를 추가한다. 서 비스 실행 후 침실에는 사람이 존재하기 때문에 움직임 이 감지되어 상황 정보 D가 발생하지만 추론을 통해 새 로운 상황 정보가 도출되지 않는다. 파티 룸에서 움직임 감지 시 시스템의 추론 과정은 (그림 10)과 같다.

(그림 10) 취침 모드 시 추론 과정 (Figure 10) Flow chart of Inference for sleep

파티 룸에서 움직임 감지 시 상황 정보 E가 발생하며 이로 인해 규칙 2번이 실행되어 상황 정보 F가 도출된다.

이후 규칙 5번과 규칙 6번을 통해 시스템은 침입자 발생 을 인지하고 경찰에 알린다.

4.2.3 파티 모드

사용자가 파티 룸에서 파티 도중 외부인의 침실 출입 을 방지하고 싶은 경우 규칙 1번, 4번, 6번을 등록한다.

(그림 11) 파티 모드 시 추론 과정 (Figure 11) Flow chart of Inference for party

또한, 사용자는 침실에 구성원이 존재하지 않는다는 상황 정보 B를 추가하여 서비스를 실행한다. 취침 모드와 같이 상황 정보 E에 의해 새로운 상황 정보가 도출되지 않으며, 침실에서 움직임 감지 시 추론 과정은 (그림 11) 과 같다. 침실에서 움직임이 감지되면 상황 정보 D가 발 생하고 순차적으로 상황 정보 F, G, H가 도출되어 시스템 은 침실 내 침입자 발생을 인지하고 경찰에 알린다.

이와 같이 본 논문에서 제안하는 전문가 시스템 기반 상황 인식 서비스 기법을 스마트 홈 환경에서 3가지 방범 서비스 모드를 이용하여 테스트하였다. 테스트 결과, 본 논문에서 제안하는 기법이 IoT 노드의 자원을 효율적으 로 활용하여 상황 인식을 통해 사용자에게 맞춤형 서비 스를 제공하는 것을 확인하였다.

4.3 성능 비교

IoT 환경에서 제안하는 기법의 안정성을 확인하기 위 해 본 논문의 IoT 기반 전문가 시스템 서버와 기존 PC 기 반 전문가 시스템 서버의 자원 소모량을 비교하였다. PC 기반 서버의 환경은 (표 4)와 같으며, 자체 제작한 추론 엔 진을 사용하였다. 시스템이 안정된 상태에서 자원 소모량 을 측정하기 위해 실행 후 10시간 뒤에 성능을 측정하였으 며, 규칙 실행은 없다고 가정하였다. 또한, 상황 정보와 규 칙 데이터의 개수에 따라 (표 5)와 같이 4가지 케이스에서 메모리 사용량(Resident set size), 메모리 할당량(Virtual memory size), CPU 사용률(CPU utilization)을 비교하였다.

(표 4) PC 기반 테스트 환경

(Table 4) Test environment of PC

(표 5) 성능 비교 케이스

(Table 5) Cases of performance comparison

순번 내용

1 상황 정보와 규칙 없이 실행 2 규칙을 1000개 입력 후 실행 3 상황 정보를 1000개 입력 후 실행

4 `상황 정보와 규칙을 각각 1000개 입력 후 실행

(9)

(그림 12) 메모리 사용량 (Figure 12) Resident set size

(그림 13) 메모리 할당량 (Figure 13) Virtual memory size

(그림 14) CPU 사용률 (Figure 14) CPU utilization (그림 12)와 (그림 13)은 각각 메모리 사용량과 메모리

할당량을 나타내며, (그림 14)는 CPU 사용률을 보여준다.

메모리 사용량과 메모리 할당량은 PC 기반 서버를 기준 으로 약 50%와 약 70% 낮았으며, CPU 사용률은 Artik 10 기반 서버에서 더 높았으나 70% 이하를 유지하였다.

이를 통해 상황 정보와 규칙 데이터가 1000개 이하인 경우 제안하는 기법이 안정적으로 상황 인식 서비스를 제공하는 것을 확인하였으며, 실제 상용화하여 사용자에 게 서비스를 제공하기 위해서는 자원 소모량에 따라 상 황 정보와 규칙 데이터의 보관 주기를 고려하여야 한다.

5. 결 론

본 논문에서는 IoT 환경에서 Edge Computing을 위한 전문가 시스템 기반 상황 인식 서비스 기법을 제안하였 다. 제안하는 기법은 자원 제한적인 IoT 노드의 효율적인 협업을 기반으로 데이터를 실시간으로 처리하고 상황 인 식을 통해 사용자에게 맞춤형 서비스를 제공하며, 사용자 는 서비스 규칙을 수정하여 원하는 서비스를 제공받을 수 있다. 본 논문에서는 제안하는 기법을 위해 RDF의 Triple 구조 기반 상황 인식 모델링, 전향 추론 기반 경량 화 추론 엔진, 저전력 CoAP 통신 프로토콜을 이용하였다.

스마트 홈 환경에서 3가지 방범 서비스 모드를 이용한 테 스트를 통해 제안하는 기법이 IoT 노드 자원을 기반으로 효율적으로 사용자에게 서비스를 제공하는 것을 확인하 였다. 또한, 기존 PC 기반 전문가 시스템 서버와 자원 소 모량을 비교하여 제안하는 기법의 안정성을 입증하였다.

본 논문에서 제안하는 기법은 화재·방범 시스템과 같이 신속한 대응을 필요로 하는 산업분야에 접목하면 더 많 은 부가가치를 창출할 수 있을 것이라 기대된다.

향후 연구로는 자원 소모량에 따라 자동적으로 상황 정보와 규칙 데이터의 보관 주기를 조절하는 IoT 기반 지 능형 전문가 시스템에 대한 연구를 진행할 예정이다.

참고문헌(Reference)

[1] Y. Xu and A. Helal, "Scalable Cloud-Sensor ArchitecturefortheInternetofThings,"IEEE Internet of Things Journal, Vol. 3, No. 3, 2016, pp. 285-298.

https://doi.org/10.1109/JIOT.2015.2455555

[2] C. Perera, A. Zaslavsky, P. Christen, and D.

Georgakopoulos, "Context Aware Computing for The Internet of Things: A Survey," IEEE Comm. Surveys

& Tutorials, Vol. 16, No.1, 2014, pp. 414-454.

https://doi.org/10.1109/SURV.2013.042313.00197 [3] J. Gubbi, R. Buyya, S. Marusic, and M. Palaniswami,

"Internet of Things (IoT): A vision, architectural elements, and future directions," Future Generation Computer Systems, Vol. 29, No. 7, Sept. 2013, pp.

1645-1660.

http://dx.doi.org/10.1016/j.future.2013.01.010 [4] L. D. Xu, W. He, and S. Li, "Internet of Things in

Industries: A Survey," IEEE Trans. on Industrial Informatics, Vol. 10, No. 4, 2014, pp. 2233-2243.

https://doi.org/10.1109/TII.2014.2300753

[5] A. Ahmed and E. Ahmed, "A Survey on Mobile Edge Computing," IEEE International Conf. on Intelligent Systems and Control, Jan. 2016, pp. 1-8.

https://doi.org/10.1109/ISCO.2016.7727082

[6] O. Yurur, C. H. Liu, Z. Sheng, V. C. M. Leung, W.

Moreno, and K. K. Leung, "Context-Awareness for Mobile Sensing: A Survey and Future Directions,"

IEEE Communcations Surveys & Tutorials, Vol. 18, No. 1, 2016, pp. 68-93.

https://doi.org/10.1109/COMST.2014.2381246 [7] W3C, "RDF 1.1 Turtle: Terse RDF Triple Language,"

W3C Recommendation, Jan. 2014.

https://www.w3.org/TR/turtle/

(10)

◐ 저 자 소 개 ◑

송 준 석(Junseok Song) 2015년 서경대학교 컴퓨터과학과(이학사)

2015년~현재 성균관대학교 전자전기컴퓨터공학과 석사과정 관심분야 : IoT, 머신러닝

E-mail : [email protected]

이 병 준(Byungjun Lee) 2009년 한라대학교 컴퓨터공학과(공학사)

2012년 성균관대학교 전자전기컴퓨터공학과(공학석사) 2014년~현재 성균관대학교 전자전기컴퓨터공학과 박사과정 관심분야 : IoT, 머신러닝, SDN

E-mail : [email protected]

김 경 태(Kyung Tae Kim) 2003년 수원대학교 컴퓨터과학과(공학사)

2005년 성균관대학교 정보통신공학부 컴퓨터공학과(공학석사) 2013년 성균관대학교 정보통신공학부 컴퓨터공학과(공학박사) 2013년~현재 성균관대학교 정보통신대학 연구교수

관심분야 : 유비쿼터스 컴퓨팅, 무선네트워크, IoT, Edge Computing E-mail : [email protected]

윤 희 용(Hee Yong Youn) 1977년 서울대학교 전기공학과(공학사) 1979년 서울대학교 전기공학과(공학석사)

1988년 Univ. of Messachusetts at Amherst 컴퓨터공학과(공학박사) 1988년~1990년 Univ. of North Texas 조교수

1991년~1999년 Univ. of Texas at Arlington 부교수

2000년~현재 성균관대학교 컴퓨터공학과 교수 및 유비쿼터스 컴퓨팅기술연구소 소장 관심분야 : 유비쿼터스 컴퓨팅, 무선 네트워크, IoT, Edge Computing

E-mail : [email protected] [8] A. Al-Ajlan, "The Comparison between Forward and

Backward Chaining," International Journal of Machine Learning and Computing, Vol. 5, No. 2, April 2015, pp. 106-113.

https://doi.org/10.7763/IJMLC.2015.V5.492

[9] Z. Shelby, K. Hartke, and C. Bormann, "The Constrained Application Protocol (CoAP)," No. RFC 7252, June, 2014.

https://doi.org/10.17487/RFC7252

참조

관련 문서

Therefore, the proposed FTDM strategy not only provides the mechanism of efficient data management generated by healthcare IoT devices but also provides an

To fulfill such necessities, CS measures the Euclidean separation between the given inquiry ask for (additionally used as a refining vector) and the vectors in the

검침원 직접 방문, 넓은 검침 지역 등 낮은 업무 효율성 문제와 범죄자 거주기 방문 시 안전문제를 해결하기 위해 상수도 수용가 측에 상수도 디지털 미터기를 설치하고,

In a dense scenario, the number of events may be huge, so the time points when events happen may be extremely close to one another (i.e., quite successive on the time

문제정의하기 ( 고객이 갖는 문제에 대한 공감한 내용을 아래 밑줄에 채워보자 .... • 고객의 문제를 해결했는지를 신속하게 시제품을 만들고

I. 꿀벌통 속에서 일어나는 꿀벌의 성장 동영상을 본 후 USB 카메라를 통해 연결된 벌통 속 꿀벌들의 활동 모습을 휴대폰 앱으로 실시간 관찰해 봅시다... 꿀벌

‘꿀벌이 좋아하는 먹이’를 주제로 ‘꿀벌이 좋아하는 식물 화분 만들기’ 등 관심 분야를 결정하여 선택하게 하고 의견 수렴 을 통해 모둠별로 다양한 창의적 활동을

자료출처 IoT