DOI QR코드

DOI QR Code

Design and Implementation of Smart City Data Marketplace based on oneM2M Standard IoT Platform

oneM2M 표준 IoT 플랫폼 기반 스마트시티 데이터 마켓플레이스 설계 및 구현

  • Jeong, SeungMyeong (Autonomous IoT Research Center, Korea Electronics Technology Institute) ;
  • Kim, Seong-yun (Autonomous IoT Research Center, Korea Electronics Technology Institute) ;
  • Lee, In-Song (Autonomous IoT Research Center, Korea Electronics Technology Institute)
  • Received : 2019.08.30
  • Accepted : 2019.12.06
  • Published : 2019.12.31

Abstract

oneM2M has been adopted to national and global smart city platforms leveraging its benefits, oneM2M platform assures interoperability to devices and services with standard APIs. Existing access control mechanisms in the standard should be extended to easily distribute smart city data. Compared to the as-is standard, this paper proposes a new access control method with minimum human interventions during data distribution between data sellers and buyers. The proposal has been implemented as the new data marketplace APIs to oneM2M platform and used for data marketplace portal interworking. This also has been demonstrated with smart city PoC service.

oneM2M은 표준 API를 통해 디바이스 및 서비스 간 상호호환성을 보장하여 국내외 스마트시티 플랫폼 구축에 활용되고 있다. 스마트 시티에서 수집되는 데이터를 손쉽게 유통하기 위해서는 기존 표준에 있는 접근 제어 기능을 확장할 필요가 있다. 본 논문은 기존 oneM2M 표준의 접근 제어 기법과 비교해 데이터 판매자와 구매자 간 데이터 유통 시 사람의 개입이 최소화된 방안을 제시한다. 제시된 방안을 통해 oneM2M 데이터 마켓플레이스 API로 플랫폼에 확장 개발하고 데이터 마켓플레이스 포털과 연동하였다. 또한 스마트시티 시범 서비스를 개발하여 데이터 마켓플레이스 활용 예시를 제시하였다.

Keywords

1. 서론

  oneM2M 표준은 다양한 IoT 응용 도메인에 공통적으로 사용할 수 있는 IoT 미들웨어 플랫폼을 제공한다. 현재 릴리즈 4 표준을 개발하고 있으며 릴리즈 2의 Functio- nal Architecture (TS-0001) 규격 등은 ITU-T의 Y.4500 Recommendation 표준으로 제정되었다[1]. 이로써 oneM2M 은 글로벌 단체 표준뿐만 아니라 국제 공식 표준으로서 국내외에서 스마트시티 분야에도 널리 활용되고 있다[2]. 또한 oneM2M 공식 인증 프로그램을 운영하여 oneM2M 표준을 구현한 다양한 인증 제품들이 표준 적합성을 검증하고 상호호환성을 보장하고 있다[3].

  국내에서는 부산광역시(‘15~’17)[4], 고양시(‘ 16~’ 17)[5]에 oneM2M 표준 플랫폼을 활용한 스마트시티 플랫폼과 서비스를 실증 사업으로 수행 완료하였고, 해외의 경우 영국에서 oneTRANSPORT 상용 프로젝트로 one M2M을스마트시티에 활용한 바 있다[6]. 이 중에 부산과 고양은구축된 oneM2M 플랫폼과 연동하는 공공 데이터 포털을 운영한 바 있다. 앞선 실증 과제의 공공 데이터 포털은 기존 oneM2M 표준에서 제공하는 종래 API를 활용해 데이터를 공공으로 제공하는 기능을 구현한 것에 비해, 본 논문은 도시 데이터 마켓플레이스 요구사항을 추가하여 데이터 상품의 판매, 구매, 이용 그리고 이를 위한 접근 제어 기능을 확장 개발하고 시범 운영하고 있다.

  본 논문에서는 먼저 2장에서 데이터 마켓플레이스 구현에 관련한 oneM2M 표준 기술을 살펴보고 관련 사례를 살펴본다. 이후 3장에서는 oneM2M 플랫폼과 연동하는 데이터 마켓플레이스 구현을 위한 구조를 설계하며, 4장에서는 마켓플레이스를 위한 신규 API를 oneM2M 플랫폼에 적용하기 위한 설계를 기술한다.

 

2. 배경 기술

2.1 oneM2M 표준

2.1.1 oneM2M 표준 기술 개요

  oneM2M 표준은 M2M/IoT 서비스에서 공통적으로 사용되는 기능을 IoT 미들웨어 플랫폼으로 정의한다. 따라서 간단히는 oneM2M 표준은 oneM2M 플랫폼과 이를 활용하는 어플리케이션으로 구성된다고 볼 수 있다. 플랫폼은 미들웨어의 API를 제공하고, 어플리케이션은 oneM2M API를 활용하여 비즈니스 로직을 구현하여 사용자에게 서비스를 제공한다.

 

OTJBCD_2019_v20n6_157_f0001.png 이미지

(그림 1) oneM2M 표준 적용 예시

(Figure 1) oneM2M standard implementation example

 

2.1.2 데이터 공유 리소스

  oneM2M은 RESTful 아키텍처를 따르며 IoT 미들웨어의 기본 기능으로 데이터를 저장, 공유 및 관리하기 위한 API를 정의하며 이에 관련한 리소스 타입을 Data Sharing Resource (DSR)로 정의한다. DSR에 해당하는 리소스 타입은 container, contentInstance, flexContainer, timeSeries 그리고 timeSeriesInstance가 있다[7].

  이 중에 container/contentInstance는 릴리즈 1부터 정의된 기본적인 데이터 관련 리소스 타입으로서 content Instance는 실제 데이터를 저장하는 리소스에 해당하며 container는 contentInstance를 저장하기 위한 저장소 개념에 해당한다.  표 1은 contentInstancee 리소스 타입 정의를 나타낸다. 사용자(서비스) 데이터는 content라는 단일 속성을 통해 oneM2M 플랫폼에 저장되고 다른 어플리케이션과 공유할 수 있다.

 

(표 1) contentInstance 리소스 타입 정의 (일부)

(Table 1) contentInstance resource type (partial)

OTJBCD_2019_v20n6_157_t0001.png 이미지

 

  표 2는 사용자 데이터를 단일 속성에 저장하는 content Instance와는 다르게 데이터 요소(element)를 개별 속성으로 직접 정의해서 사용할 수 있는 flexContainer 리소스 타입을 나타낸다. 예를 들어 사용자 데이터가 totalSpot Number, availableSpotNumber와 같이 둘 이상의 데이터 요소를 포함하는 경우 이를 개별 속성으로 정의해서 리소스로 저장할 수 있다. 이러한 구조를 통해 oneM2M의 검색, 구독/통지와 같은 API를 개별 속성 접근을 통해 활용할 수 있는 장점이 있다.

 

(표 2) flexContainer 리소스 타입 정의 (일부)

(Table 2) flexContainer resource type (partial)

OTJBCD_2019_v20n6_157_t0002.png 이미지

 

본 논문에서 제시하는 oneM2M 플랫폼 기반의 데이터마켓플레이스는 상기에서 서술한 DSR 리소스를 판매하고 구매할 수 있는 방법을 제안한다.

 

2.1.3 데이터 관리 API

  oneM2M 플랫폼은 데이터 마켓플레이스에서 DSR 리소스를 유통하기 위해 필요한 기본적인 표준 인터페이스를 제공한다. 관련된 API는 데이터 저장, 검색, 조회, 구독/통지 그리고 접근 제어가 있다.

  먼저 데이터 저장 및 조회 API는 flexContainer와 같은리소스 생성(CREATE) 및 조회(RETRIEVE) 동작으로 제공되며 조회는 단일 리소스에 대한 조회뿐만 아니라Result Content 요청 메시지 파라미터 설정(예: child resources 설정값)을 통해 다중 리소스를 한 번에 조회할 수도 있다. 또한 리소스 검색은 리소스의 속성값에 대한쿼리 조건을 통해 oneM2M 플랫폼에 저장된 리소스 식별자를 반환하는 기능을 제공한다.

  구독/통지는 관심 있는 리소스에 구독을 설정하면 설정된 구독 조건에 따라 원하는 프로토콜, 경로를 통해 구독된 리소스에 발생하는 이벤트(예: flexContainer 리소스 업데이트)를 비동기 통지 메시지로 수신할 수 있다.

 

2.1.4 접근 제어 API

  oneM2M 접근 제어는 데이터를 플랫폼을 통해 공유하면서 특정 어플리케이션에 이용할 수 있는 권한을 소유자가 설정하고 플랫폼이 이행(enforcement)하는 기능을 제공한다. 대표적으로 accessControlPolicy 리소스 타입을 통해 접근 권한 정책을 리소스로 생성하고 이를 사용자DSR에 링크할 수 있다.

  기존의 접근 제어 API를 통해 데이터 판매자와 구매자간의 데이터 유통은 아래의 그림과 같은 과정으로 이루어질 수 있다. 판매자와 구매자 사이의 데이터 사용에 대한 합의 이후 판매자가 자신의 데이터에 대한 접근 권한을 추가하는 과정으로서 이는 매번 사람의 개입이 필요한 불편함이 따른다. 또한 아래의 예시는 플랫폼 상의 데이터 별소유자 정보를 관리하는 별도의 포털이 존재함을 가 정해야 한다.

 

OTJBCD_2019_v20n6_157_f0002.png 이미지

(그림 2) 데이터 공유 위한 접근 제어 설정

(Figure 2) Access permission setting for data sharing

 

2.2 관련 연구

  IoT 플랫폼 표준으로서 oneM2M의 상호호환성 제공의 장점은 이미 여러 논문을 통해 강조된 바 있다[8][9]. 서론에서 설명한 바와 같이 스마트시티 분야에 적용한 사례도 있다[10]. 표준 API는 이기종 디바이스 및 프로토콜로부터 데이터 수집을 용이하게 하여 스마트시티 플랫폼과 도시인프라 연동 개발 기간을 단축하고 스마트시티의 여러 도메인의 데이터를 통합 관리할 수 있었다.

  또한 oneM2M 플랫폼은 표준 인터페이스를 활용해 다양한 소스로부터의 데이터를 oneM2M 플랫폼으로 통합하여 데이터 마켓플레이스를 구축한 oneTRANSPORT와 같은 영국의 사례가 있다[11].

  다만 이러한 사례는 oneM2M 플랫폼에 저장된 데이터는 모두 마켓플레이스로 제공되는 것을 가정하기 때문에플랫폼은 저장된 데이터와 판매 중인 데이터를 구분할 수 없다. 그리고 데이터 소유자가 특정한 데이터를 판매/중지하기 위한 프로세스가 존재하지 않고 데이터 소유자가 데이터 판매에 대한 정책을 개별적으로 수립할 수 없다.

  상기 2.1.4절과 같은 사람의 개입이 포함된 데이터 유통 과정을 개선하기 위해 본 논문에서 제안하는 플랫폼 상의 데이터 소유권자로부터 데이터 이용 권한을 양도받아데이터 유통 포털이 API를 통해 판매 및 구매 행위 기반의 접근 권한 제어 방안이 필요하다.

 

3. 데이터 마켓플레이스 서비스 설계

3.1 마켓플레이스 활용 시나리오

  데이터 마켓플레이스의 이용자는 판매자, 구매자 그리고 관리자로 나눌 수 있다. 판매자는 플랫폼에 저장되어 있는 자신의 DSR을 마켓플레이스를 통해 제3자가 사용할 수 있도록 상품을 등록하는 행위를 수행한다.

  판매자가 등록한 신규 상품은 관리자가 확인을 거친다. 관리자가 이를 확인하면 마켓플레이스는 oneM2M 플랫폼에 저장된 해당 DSR에 해당 상품이 판매 중임을 리소스에 기록한다.

  구매자는 판매자가 등록해 놓은 마켓플레이스 상의 상품을 검색하고 구매하고, 이후에 자신이 사용하는 스마트시티 어플리케이션으로 oneM2M 플랫폼 상에 있는 구매한 DSR을 이용한다. 마켓플레이스 상에서 이루어지는 데이터 상품 구매 또한 oneM2M 플랫폼에 구매 정보가 기록되는 동작이 수행된다.

 

OTJBCD_2019_v20n6_157_f0003.png 이미지

(그림 3) 마켓플레이스 기반 데이터 접근 제어 설정

(Figure 3) Access permission setting with data marketplace

 

  관리자는 데이터 마켓플레이스에 등록 요청된 상품을검수하는 역할을 수행한다. 부적절한 데이터 또는 개인정보와 같은 항목이 포함된 데이터 상품의 출시를 거부할 수 있다. 현재 관리자 기능은 사람에 의한 검수 프로세스로 구현되어 있으며 향후 S/W로 대체될 수도 있을 것이다.

 

OTJBCD_2019_v20n6_157_f0004.png 이미지

(그림 4) 스마트시티 데이터 마켓플레이스

(Figure 4) Smart city data marketplace

 

  그림 2는 데이터 마켓플레이스와 함께 개발된 스마트파킹 환승 서비스 어플리케이션을 나타낸다. 사용자(예:주차 서비스 개발자)는 공영 주차장 데이터 상품을 마켓플레이스로 구매한 후 oneM2M 플랫폼에 연동하여 실시간 데이터를 제공받는다.

 

OTJBCD_2019_v20n6_157_f0005.png 이미지

(그림 5) 스마트시티 어플리케이션

(Figure 5) Smart City Application

 

3.2 마켓플레이스 연동 구조

  데이터 마켓플레이스, oneM2M 플랫폼 그리고 사용자의 oneM2M의 연동 구조는 그림 4와 같이 나타낼 수 있다. 본 논문에서 소개하는 oneM2M 플랫폼 확장 기반 데이터마켓플레이스 구현은 아래 그림에서 Data Market place (Back-end)와 oneM2M Platform (CSE, Common Services Entity)간 연동을 위한 종래 및 신규 API 개발 영역에 해당한다. 그림 2는 Data Marketplace (Front-end)에 그리고 그림 3은 oneM2M 어플리케이션 (AE, Application Entity)에 해당한다.

 

OTJBCD_2019_v20n6_157_f0006.png 이미지

(그림 6) 데이터 마켓플레이스 및 플랫폼 연동 구조

(Figure 6) Interworking between data marketplace and oneM2M platform 

 

4. 데이터 마켓플레이스 연동 설계

4.1 데이터 상품 유통 프로세스

4.1.1 데이터 판매

  3.1절에 서술한 바와 같이 데이터 상품 판매 행위는 기존 oneM2M 플랫폼에 저장되어 있는 DSR 리소스에 판매중임을 지시하는 정보를 추가하는 것으로 정의할 수 있다. 아래 표 3은 판매 관련 정보를 나타내며 현재 리소스가 판매 중임을 나타내는 onSale 속성과, 소유자 정보로 구성된다. 따라서 onSale 속성을 가지지 않은 DSR 리소스의 경우 다음 절에서 기술할 데이터 상품 구매를 성공적으로 수행할 수 없다.

 

(표 3) 데이터 판매 리소스 추가 속성

(Table 3) Additional Attributes for Data Sharing Resources

OTJBCD_2019_v20n6_157_t0003.png 이미지

 

  그림 5는 판매자의 데이터 상품 판매 요청이 마켓플레이스를 통해 oneM2M 플랫폼의 DSR에 반영되는 절차를 나타낸다. 마켓플레이스는 상품 판매 요청을 수신하면 해당 상품의 상태를 임시로 신청 중으로 저장하고 DSR 리소스에 표 3의 속성을 추가하는 갱신 요청을 수행한다.

  그림에는 생략되어 있지만 판매자의 AE-ID로 oneM2M 플랫폼에 저장된 DSR을 조회하는 동작이 과정 1 이전에 수행된다. 이는 5.3.1절에 서술한 API 구현에 해당한다. 또한, 과정 3과 4 사이에 마켓플레이스가 관리자에게 상품 검수를 요청하는 기능이 있으나 이는 oneM2M 표준과 무관한 서비스 영역이므로 도면에서 제외하였다.

 

OTJBCD_2019_v20n6_157_f0007.png 이미지

(그림 7) 데이터 판매 시퀀스 다이어그램

(Figure 7) Sequence diagram of selling data

 

4.1.2 데이터 구매

  데이터 상품 구매는 그림 6과 같이 판매 중인 DSR 리소스에 구매(purchase) 리소스를 자녀 리소스로 생성하는 행위로 정의한다. 이러한 부모-자녀 리소스 관계를 통해 판매-구매 리소스 관계를 표현할 수 있다.

 

OTJBCD_2019_v20n6_157_f0008.png 이미지

(그림 8) 데이터 공유 리소스와 구매 리소스 간의 관계

(Figure 8) Relationshp between DSR and purchase resource

 

  purchase 리소스 타입은 표 4와 같은 속성으로 정의한다. 데이터 구매가 만료되는 시각(pet), 일별 데이터 제공횟수(mcc) 및 데이터 크기(mds), 당일 데이터 제공 횟수(ccc) 및 데이터 크기(cds) 속성을 가진다. 이러한 속성으로 구매 이력이 생성되면 oneM2M 플랫폼은 구매자 어플리케이션(cr)에 데이터를 제공할 때마다 일별 제한 횟수와 크기 그리고 구매 만료 시각 정보를 확인하여 이를 초과하는 경우는 데이터 제공을 제한한다.

 

OTJBCD_2019_v20n6_157_t0004.png 이미지

(표 4) purchase 리소스 타입 정의 (일부)

(Table 4) purchase resource type (partial)

 

  그림 7은 상기 데이터 상품 구매를 위해 oneM2M 플랫폼에 purchase 리소스를 생성하는 과정을 나타낸다.

  데이터 마켓플레이스는 구매자의 데이터 상품 구매 요청을 수신하여 oneM2M 플랫폼에 purchase 리소스를 생성하는 요청으로 전달한다. oneM2M 플랫폼은 purchase 리소스 생성 요청의 To 파라미터로 지시되는 DSR 리소스가 판매 중인 리소스인지 onSale 속성값을 통해 판별한다. purchase 리소스 생성 시 데이터 마켓플레이스는 해당리소스 ID 정보를 내부적으로 저장하고, 포털(front-end)를 통해 사용자가 자신의 구매 이력을 조회하는 경우(과정8) 해당 리소스 정보를 통해 oneM2M 플랫폼에 구매 이력에 해당하는 purchase 리소스를 조회한다. purchase 리소스 조회를 통해 ccc, cds와 같은 구매자의 DSR 리소스이용 현황을 파악할 수 있다.

  이러한 purchase 리소스 조회 API는 데이터 마켓플레이스뿐만 아니라 사용자 어플리케이션에서도 사용 가능하므로 데이터 이용 횟수를 확인하고 제한하는 어플리케이션 로직 개발도 가능해진다.

 

OTJBCD_2019_v20n6_157_f0009.png 이미지

(그림 9) 데이터 구매 시퀀스 다이어그램

(Figure 9) Sequence diagram of purchasing data

 

4.1.3 데이터 이용

  4.1.2절에서 데이터 상품을 구매한 후 사용자 어플리케이션에서 데이터를 이용하는 방법은 그림 8에 도시되어 있다.

  데이터 상품 이용은 pull/push 두 가지 형태로 정의할 수 있는데 이는 각각 어플리케이션에서 데이터를 조회 그리고 플랫폼으로부터 통지 메시지를 수신하는 oneM2M 표준 개념으로 매핑할 수 있다.

  먼저, 과정 1에서 데이터 활용자(consumer)은 자신이 구매한 DSR을 oneM2M에 조회 요청한다. 이를 수신한 oneM2M 플랫폼은 종래의 접근 제어(ACP, access control policy)를 적용하여 조회를 수행할지 판단한다. 가정상 데이터 사용자는 기존에 DSR에 대한 접근 권한은 없으므로 DSR의 자녀 리소스 중 creator 속성이 활용자 ID와 일치하는 purchase 리소스가 있는지 확인한다. 있다면 데이터마켓플레이스를 통해 DSR 리소스를 구매한 것이므로 ACP 확인이 실패하더라도 조회 요청을 수행한다.

  접근 권한을 확인한 후 추가로 구매 만료, 일 최대 이용 횟수 및 데이터 크기를 초과하지 않았음을 확인하고 요청된 리소스를 반환한다.

  과정 5는 DSR에 이벤트를 발생시키는 API 호출을 나타낸다. 예를 들어 flexContainer의 속성값이 갱신되고 과정 8에서 이에 대한 통지 메시지가 구독 대상인 활용자에전달되는 시나리오이다. 이 때도 과정 3과 마찬가지로 통지 메시지를 통해 데이터를 제공하기 앞서 해당 통지 메시지가 구매 정책을 준수하는지 여부를 판단한다.

 

OTJBCD_2019_v20n6_157_f0010.png 이미지

(그림 10) 데이터 이용 시퀀스 다이어그램

(Figure 10) Sequence diagram of data access

 

5. 스마트시티 서비스 설계 및 개발

5.1 데이터 모델 정의

  본 논문에서는 3.1절에 기술한 바와 같이 스마트파킹환승 서비스를 개발하였다. 그림 3의 지도 상에서 테스트베드인 성남시 야탑역 주변의 환승 서비스 구현을 위해 대중 교통 인프라에 대한 데이터 모델을 아래의 표와 같이 정의하였다. 현재는 공영 주차장의 데이터를 무료로 제공하는 데이터 마켓플레이스로 운영하고 있다. 하지만 이후에 사설 주차장으로 연동한다면 사설 주차장의 주차현황 정보를 서비스 사업자에 판매할 수 있는 데이터 유통 비즈니스 모델을 개발할 수 있다.

  다음 그림 9는 상기 데이터 모델 중 주차장 모델의 oneM2M 표준의 flexContainer 리소스 매핑 예시를 나타낸다. 공통 속성을 제외하고 location, available Spot Number 등과 같은 서비스에 필요한 속성들을 정의하였다.

 

(표 5) 스마트파킹 환승 주차 서비스 모델 목록

(Table 5) Data models of smart commuter parking service

OTJBCD_2019_v20n6_157_t0005.png 이미지

 

OTJBCD_2019_v20n6_157_f0011.png 이미지

(그림 11) 주차장 데이터 모델 JSON 예제

(Figure 11) JSON example of parking log data

 

5.2 oneM2M 확장 플랫폼 구현

5.2.1 판매자 리소스 일괄 조회

  다음 그림은 4.1.2절에서 서술한 데이터 판매자의 리소스를 데이터 마켓플레이스가 일괄 조회하는 API 요청과 응답 메시지를 나타낸다. 일괄 조회를 위해 Result Content(rcn) 값을 8(child resources)로 요청하면서 조회 대상 리소스 타입 값을 28(flexContainer)로 그리고 리소스 생성자 정보를 판매자 AE-ID로 쿼리를 설정한다. 응답 메시지 예제와 같이 검색된 하나 또는 이상의 flexContainer 리소스가 배열에 포함되어 반환된다.  oneM2M 표준에 있는 검색 API가 아닌 Result Content = child resources 설정을 통한 일괄 조회를 사용하는 이유는 데이터 마켓플레이스가 검색 API에서 반환되는 리소스 ID 정보뿐만 아니라 해당 리소스에 포함된 다양한 정보(예: 사람이 읽을 수 있는 데이터 인스턴스의 name 속성값)를 한 번의 요청으로 획득할 수 있기 때문이다.

 

OTJBCD_2019_v20n6_157_f0012.png 이미지

(그림 12) 판매자 리소스 일괄 조회 API

(Figure 12) Batch retrieval of seller data

 

5.2.2 데이터 판매

  상기 리소스 일괄 조회를 통해 마켓플레이스는 판매자에게 판매할 리소스의 정보를 포털 화면을 통해 제공한다. 판매자는 판매할 리소스를 선택해서 판매를 데이터마켓플레이스에 요청하고 마켓플레이스는 oneM2M 플랫폼에 아래와 같이 DSR(예: flexContainer) 리소스에 판매정보를 기록한다.

 

OTJBCD_2019_v20n6_157_f0013.png 이미지

(그림 13) 데이터 판매 API

(Figure 13) Data selling API

 

5.2.3 데이터 구매

  데이터 구매자가 데이터 마켓플레이스 포털 상에서 원하는 상품을 선택한 후 구매를 신청하면 마켓플레이스는 oneM2M 플랫폼에 해당 DSR 리소스에 자녀 자원으로 purchase 리소스 생성을 요청한다.

  참고로 purchase 리소스 타입은 현재 oneM2M 표준에 정의되진 않고 본 논문에서 개발·검증한 리소스 타입이므로 임의로 열거형 값을 100으로 구현하였다.

 

OTJBCD_2019_v20n6_157_f0014.png 이미지

(그림 14) 데이터 구매 API

(Figure 14) Data purchasing API

 

5.2.4 데이터 구매 이력 조회

  다음 그림 13은 그림 7의 과정 10, 12에 해당하는 요청 및 응답 메시지 예제를 나타낸다. 데이터 구매자가 자신의 데이터 이용 현황을 조회하고 싶을 때 마켓플레이스의 “내 구매이력 조회”를 통해 호출되는 API이다. 판매자의 ID를 creator 속성으로 가지는 purchase 리소스를 일괄 조회하는 아래와 같은 요청 메시지로 구현된다.

 

OTJBCD_2019_v20n6_157_f0015.png 이미지

(그림 15) 데이터 구매 이력 조회 API

(Figure 15) Data purchase history retrieval API

 

6. 결론

  본 논문에서는 데이터 유통 관점에서 부족한 oneM2M 표준 기능을 개선하기 위해 데이터 판매, 구매 그리고 구매 이력 기반의 접근 제어 기법을 신규 API로 제안하였다.  종래의 oneM2M 플랫폼은 어플리케이션 간에 데이터를 공유할 수 있는 API는 제공하고 있으나 원하는 데이터를 검색한다더라도 실제 데이터 소유자에게 데이터 접근제어를 요청하는 방법은 인간의 개입이 필요했다.

  데이터 유통 기능을 제공하는 데이터 마켓플레이스를 스마트시티 데이터 공유에 적용하면, 판매자는 자신의 데이터를 상품의 형태로 마켓플레이스에 등록한 후, 등록된 상품에 대한 접근 제어는 마켓플레이스와 플랫폼이 대리수행해 준다. 즉, 데이터 판매자와 구매자가 직접 비즈니스를 논의할 필요가 없다.

  본 연구에서는 이러한 판매자와 구매자 간 데이터 유통을 지원하기 위한 리소스 타입과 관련 API를 추가 개발하였고, 마켓플레이스 포털 서비스를 연동 개발하여 oneM2M 기반의 데이터 마켓플레이스를 실증하였다. 또한 이를 스마트파킹 서비스에 연계 적용해보았다.

  현재까지 개발된 데이터 마켓플레이스는 프로토타입으로서 oneM2M 표준 기고서로 제안하고 다음과 같은 기능을 추가 적용할 예정이다.

  먼저 마켓플레이스 포털 관점에서 지도 기반 데이터 조회 기능을 추가 개발할 예정이다. 이를 위해 oneM2M 플랫폼에 표준 geometry 포맷과 geospatial 함수를 적용하여 geo-query 기능을 추가하면 지도 화면 상에서 이용자의 데이터를 검색하여 유통 프로세스에 적용할 수 있다.또한 purchase 리소스에 기록되는 데이터 구매자의 사용이력을 통해 과금 시스템 연동도 추진해볼 계획이다.

  마켓플레이스와 oneM2M 플랫폼에는 토큰 기반 인증/인가를 적용해볼 계획이다. 스마트파킹 앱과 같은 서비스 어플리케이션에서 마켓플레이스와 oneM2M 플랫폼에서 발행한 토큰을 이용해 구매한 데이터 상품을 이용하는 보안 기능 고도화를 예정하고 있다.

  마지막으로 블록체인을 oneM2M 플랫폼의 마켓플레이스 지원 API에 적용하는 방안을 고려하고 있다. 데이터이용 이력뿐만 아니라 향후 판매자와 구매자 간의 데이터 제공 조건(예: 10분 주기로 센싱 데이터 제공)에 대한 SLA(Service Level Agreement)같은 정보들도 신뢰를 기반으로 저장 관리되어야 할 것으로 생각한다.

References

  1. Recommendation Y.4500.1 https://www.itu.int/rec/T-REC-Y.4500.1/en
  2. oneM2M, oneM2M for Smart Cities (TR-0036) http://www.oneM2M.org//technical/published-drafts
  3. oneM2M Certification Program http://onem2mcert.com/
  4. Busan Global Smart City http://www.k-smartcity.kr/
  5. Goyang Smart City https://www.smartcitygoyang.kr/
  6. oneTRANSPORT https://onetransport.io/
  7. oneM2M, Functional Architecture (TS-0001) http://www.oneM2M.org/technical/published-drafts
  8. Kim, J., Choi, SC., Yun, J. et al.: Towards the oneM2M standards for building IoT ecosystem: Analysis, implementation and lessons. In: Peer-to-Peer Netw. Appl.(2018) 11: 139. https://doi.org/10.1007/s12083-016-0505-9
  9. Zitnik, S., Jankovic, M., Petrovcic, K., Bajec, M.: Architecture of standard-based, interoperable and extensible IoT platform. In: Proceedings of the 24th Telecommunications Forum (TELFOR), Belgrade, pp. 1-4, 2016.
  10. P. Sotres, C. L. Torre, L. Sánchez, S. M. Jeong and J. H. Kim, "Smart City Services Over a Global Interoperable Internet-of-Things System The Smart Parking Case," in Proceeding of the GIoTS, Bilbao, Spain, 2018.
  11. Carlton, A.; Gammons, T.; Trousdale, D.: 'oneTRANSPORT oneM2M-based Open Ecosystem for Transport Modal Shift', IET Conference Proceedings, p. 7-7, 2014. https://doi.org/10.1049/cp.2014.0800
  12. K NUR, T GAMMONS and M ENGELBRECHT. "A DATA DRIVEN APPROACH TO SEAMLESS AND EFFICIENT TRAVEL - IS IT REALLY PRACTICAL?" 36th Southern African Transport Conference (SATC 2017), Pretoria, South Africa, 2017.