사용자의 위치정보와 감성정보를 이용한 RESTful방식의 감성공유 시스템

Emotion sharing system of RESTful-based using emotion information and location information of the users

  • cc icon
  • ABSTRACT

    본 연구에서는 사용자의 감성정보와 감성을 공유한 장소에 대한 위치정보를 이용하여 사용자의 위치에 따른 감성변화를 사용자간에 공유 할 수 있는 감성공유 시스템을 제안한다. 시스템은 감성 모바일 스마트폰 앱과 감성공유서버로 구성된다. 감성 스마트폰 앱은 공유하고자 하는 원격지의 사용자의 위치와 감성상태를 Google Map API를 이용한 지도서비스를 통해 표현한다. 감성공유서버는 모바일 외에 다양한 플렛폼간의 감성공유가 가능하도록 RESTful방식을 이용하여 구현 되었다. 감성공유서버에서 교환되는 감성정보는 XML형식으로 저장된다. 제안하는 감성공유 시스템을 이용하여 이동하는 사용자의 위치에 따른 감성변화가 지도서비스를 통해 공유 가능함을 확인 하였다.


    In this study, we propose a emotion sharing system that is sharing users emotion change according to the location of the user where users was shared his emotion information and to the emotion. The system consists of a emotion sharing server and mobile smartphone apps. Emotion smartphone app represent status of emotion and location of users who wants to share emotion at map services based the Google Map API. Emotion sharing server was implemented using a RESTful way to allow emotion sharing between different variety platform besides mobile platforms. Emotion information that is exchanged on a emotion sharing server is stored in an XML fromat. We were confirm emotion sharing system that it could be sharing moving emotion change according to the user's location through map service.

  • KEYWORD

    감성정보 , 위치정보 , 감성정보공유 , RESTful

  • I. 서 론

    사람은 외부로 부터의 감각자극 또는 사회적, 문화적 요인에 따라 감성적 반응을 하게 되고 이로 인해 다양한 감정을 느끼게 된다. 이러한 사람의 감성을 인식하고 공유하는 연구들이 활발히 진행되고 있다[1-3]. 감성인식 연구에서는 개인 맞춤형 감성인식이 가능한 방법을 제안하며 발전하고 있다[4]. 또한, 개인감성 뿐만 아니라, 다수의 개인 감성과 소셜네트워크서비스(SNS)을 활용하여 지도위에 집단적인 감성을 나타내는 시스템이나 온라인상의 글이나 이미지 공유를 통한 사용자의 감성 경험에 관한 연구들이 진행된바 있다[5-6]. 모바일기기를 이용하여 감성을 인식하고 무선전송 프로토콜을 이용하여 원격지의 모바일 폰이나, IPTV, 감성블로그 등으로 사용자의 감성정보를 전달하는 서비스 시스템도 제안된바 있다[7]. 그러나, 글이나 이미지, 이모티콘 등을 이용하여 감성을 간접적으로 공유하는데 이러한 방법에서는 자신의 감성을 자각하고 직접 표현하는데 한계점이 있다. 따라서, 정확한 사용자의 감성을 인식하고 공유하기 위해서는 사용자의 감성을 직접적으로 획득할 수 있는 생체신호를 이용한 감성정보를 활용하는 방법이 필요하다. 또한 사용자가 자신이 느꼈던 장소에 대한 위치정보를 포함하여 공유된다면 언제 어디서 느꼈던 감성인지 기억하는데 유용할 것이다.

    효율적이고 다양한 플랫폼의 시스템에서 개인 감성정보가 공유되기 위해서는 개인 감성정보의 데이터 포맷을 고려해야한다. 또한, 현재의 감성정보 뿐만 아니라 위치에 따른 감성정보를 효과적으로 전송하기 위해서는 위치정보 및 감성정보를 공유하기 편리하고 응용서비스간의 호환성 확장성이 좋은 프로토콜을 고려해야한다. 웹 서비스를 기반으로 RESTful방식의 데이터 전송 프로토콜은 표준화된 데이터 입출력 방식을 따르기 때문에 감성공유서버 시스템에서 추가 기능 확장 하더라도 모바일 클라이언트에서 기존의 시스템을 변경할 필요가 없고 SOAP(Simple Object Access Protocol) 메시지 교환 방식에 비해 가볍고 사용하기 용이하다.

    본 연구는 사용자의 위치정보와 감성 정보를 이용한 RESTful방식의 감성공유 시스템을 제안한다. 인식된 감성정보를 저장하는 기능을 포함하고 있으며 시간과 장소 별로 감성변화 추이를 파악 할 수 있다.

    II. 감성공유 시스템 설계

       2.1. 시스템 개념도

    감성공유 시스템은 모바일 클라이언트 시스템과 감성공유서버로 구성된다. 모바일 클라이언트는 스마트폰 앱으로 감성을 공유하고자 하는 원격지의 사용자의 위치와 감성상태를 지도위에 표현한다. 위치정보는 구글맵 서비스를 이용하도록 설계하고 그에 따른 감성상태는 이모티콘 형태로 지도위에 표현한다. 감성공유서버에서의 클라이언트 감성정보는 기존의 감성인식 시스템을 이용하여 생체신호 기반의 사용자 감성정보를 저장하도록 설계하였다[8]. 교환되는 감성 정보를 플랫폼에 관계없이 처리하기 위해 XML형식으로 저장하였다. 감성정보 데이터를 다양한 모바일 플랫폼으로부터 전달 가능하도록 RESTful 방식을 이용한 웹서비스로 구성하였다.

       2.2. 감성공유 서비스 시나리오

    감성공유 서비스 시스템의 전체 흐름은 다음과 같다.

    (1) 모바일 클라이언트가 감성정보를 공유하게 되면 감성공유서버에서는 사용자의 감성 정보를 입력, 수정, 조회, 삭제 하는 URI에 대한 매핑(Request Mapping)을 통해 감성정보를 입력하는 메서드(DataInsert)가 실행되고 감성정보의 각 항목은 DB에 저장되게 된다. (2) 사용자가 감성정보를 요청하게 되면 감성공유서버에서는 감성정보를 조회하는 메서드(DataSelect)가 실행되고 DB에서 요청한 데이터를 조회해 XML파일을 생성하게 된다. (3) 생성된 XML파일은 로컬디스크에 저장된 후 저장된 XML파일의 경로가 DB에 저장된다. (4) 모바일 클라이언트는 수신된 XML을 파싱하여 구글맵에 감성정보를 공유하게 된다.

    III. 감성공유 시스템 구현

       3.1. 시스템 구성도

       3.1.1. 모바일 클라이언트

    모바일 클라이언트는 공유된 감성정보를 조회 하고 표현한다. 감성정보를 조회하기 위해 HTTP 프로토콜을 이용하여 감성공유서버에 요청하게 되고 XML 포맷으로 공유된 감성정보를 수신하게 된다. 모바일 감성 클라이언트에서는 수신된 XML을 파싱하여 해당 정보를 구글맵을 통해 보여준다. 감성클라이언트에서 사용자는 자신의 감성을 공유하고 공유된 감성을 조회 할 수 있다.

    사용자가 자신의 감성을 공유하게 되면 사용자 정보와 감성정보, 위치정보를 HTTP 프로토콜을 이용하여 서버에 전송하여 저장하게 된다. 공유된 감성을 조회하면 감성공유서버에 친구, 감성, 날짜별로 감성정보를 요청하여 XML 형식으로 감성정보 데이터를 전송 받는다. 전송받은 XML데이터를 파싱하여 해당 사용자들이 감성상태와 감성공유정보를 구글맵에 보여주어 공유된 감성을 확인 할 수 있다.

    모바일 클라이언트는 스마트폰 앱 내 구글맵에서 사용자이름, 이용시간, 감성상태 별로 카테고리를 선택할 수 있다. (a)는 스마트폰 앱 상에서 사용자의 이름, 이용시간, 감성상태 별로 감성을 조회 할 수 있는 카테고리가 보이는 화면이다. (b)는 월별 감성조회 항목을 선택했을 때 나타나는 화면으로 조회하고 싶은 월을 선택할 수 있다. (c)는 월별로 감성정보를 조회 할 경우 구글맵에 감성을 공유했던 기간에 해당하는 클라이언트들의 아이콘이 표시되고 아이콘을 선택하면 해당 사용자의 감성에 해당하는 이모티콘과 함께 id, 감성정보, 공유시간에 관한정보가 표시 된다.

    (d)는 (a)와 같이 사용자의 이름, 이용시간, 감성상태별로 감성을 조회하는 방법을 선택하는 화면이다. (e)는 친구별 감성조회 항목을 선택했을 때 나타나는 화면으로 감성을 조회하고 싶은 친구를 선택 할 수 있다. (f)는 친구를 선택했을 때 나타나는 화면으로 선택한 친구가 감성을 공유했던 위치에 아이콘이 표시되고 아이콘을 선택하게 되면 친구의 감성에 해당하는 이모티콘과 함께 id, 감성정보, 공유시간에 관한 정보가 표시된다. 감성상태 별 조회항목도 위와 같은 방식으로 진행된다.

       3.1.2. 감성공유 서버

    감성공유서버의 주요 기능은 플랫폼에 관계없이 감성 데이터의 정보교환이 이루어져야 한다는 것이며 감성공유서버를 이용하는 다수의 사용자가 원활하게 실시간으로 서비스를 제공받을 수 있어야 한다는 것이다. 본 논문에서는 플렛폼에 관계없이 데이터를 교환하기 위해 RESTful 웹서비스로 구성하였고 감성공유를 위한 데이터 형식으로는 XML을 사용하였다.

    감성공유서버는 Windows Server 2008에서 eclipse 3.7을 이용하여 개발 되었다. Spring 프레임워크를 이용하여 RESTful 웹서비스를 구현하였고 iBatis2를 이용하여 Oracle Database와 연동하였다.

    오픈 API는 인터넷 서비스 회사에서 인터넷 사용자를 위해 자사의 컨텐츠 및 기능을 공개하여 사용자가 직접 리소스에 접근하여 응용 프로그램과 서비스를 개발 할 수 있도록 공개한 API를 말한다. 오픈 API를 제공하는 기술 중 하나로 REST가 있다[6].

    Rest는 네트워크를 기반으로 ROA(Resource Oriented Architecture)를 따르는 웹서비스 디자인 표준이다. URI(Uniform Resourece Identifier)을 통해 구조적으로 리소스(JSON, XML등)를 관리하고 HTTP표준 동사(GET, POST, PUT, DELETE)를 이용하여 리소스와 상호작용한다[9]. URI를 이용하기 때문에 구조화된 개별리소스에 직접 접근이 가능하고 클라이언트의 상태 정보를 저장관리 하지 않는 특성을 지닌다.

    감성공유서버는 다양한 플렛폼에 관계없이 감성데이터 통신을 위해 Rest기반의 OpenAPI로 제작 되었다. 클라이언트는 서버의 리소스에 접근하기 위해 HTTP프로토콜을 이용해 해당 리소스의 URI에 Request를 요청하게 되고 Response 로 XML을 수신 받게 된다.

    본 논문에서 제안하는 시스템에서 사용하는 HTTP전송프로토콜은 다음 4가지 메서드이다. GET, POST, PUT, DELETE 메서드로 감성정보를 CRUD(Create, Read, Update, Delete) 하게 된다. POST 메서드는 새로운 사용자를 생성하게 되고 PUT 메서드는 사용자의 감성상태를 업데이트 한다. DELETE 메서드는 사용자를 삭제하고 GET 메서드를 통해 감성정보를 얻어오게 된다.

    클라이언트의 감성정보를 서버로 전송하기 위해서는 표 2와 같은 URI가 사용 된다. 초기 사용자의 위치정보 및 감성정보를 저장하기 위해서는 POST 메서드가 사용되고 기존 사용자의 경우 PUT 메서드를 사용해서 현재 감성상태를 업데이트 한다.

    POST 메서드와 PUT 메서드를 이용하는 DataInsert 및 DataUpdate의 구조는 사용자의 고유 번호를 의미하는 id와 이름, 감성상태를 나타내는 emotionvalue와 emotionresult, 감성을 공유했던 위치 값을 나타내는 latitude와 longitude, 위치정보가 감성공유 서버로 전송된 날짜와 시간을 나타내는 date와 time으로 구성되어 있다. {value}는 각 항목의 값을 의미 한다.

    모바일 클라이언트가 감성정보를 조회하기 위해서 사용되는 URI는 표.3과 같다. GET 메서드를 사용하고 구조로는 user, emotion, location, time 으로 구성된다. 모바일 클라이언트는 사용자, 감성상태, 위치, 시간별로 데이터를 요청 할 수 있다.

       3.1.3. 감성정보

    EmotionInfo_XML은 생체신호 감성인식시스템으로 부터 획득된 생체신호를 기반으로 평가된 감성정보를 포함한다.

    EmotionInfo_XML의 요소는 , , ,

    다음은 감성공유서버에서 스마트폰 앱으로부터 감성정보을 요청 받게 되면 생성되는 XML 예제 문서이다. 사용자 고유번호(id)는 ‘1’이고 사용자 이름은 “junho”이다. 감성 값은 ‘5’이고 감성상태는 “happy”이다. 위치 값은 “37.571454, 126.989121”이며 사용자가 감성을 공유했던 장소를 의미한다. 감성정보 데이터 전송시간은 2013년 2월 21일 19시 48분 51초 이며 사용자가 감성을 공유했던 시간이다.

    IV. 결 론

    본 연구에서는 위치정보와 RESTful기반의 전송프로토콜을 이용한 감성공유 서비스를 제안한다. RESTful서비스를 제공함으로서 감성공유를 하는데 있어서 다양한 플렛폼 간의 발생할 수 있는 호환성 문제를 해결하였다. URI 기반으로 감성데이터를 관리하고 클라이언트의 상태정보를 보관하지 않는 RESTful 서비스의 특성 때문에 SOAP 방식에서 가지는 무거운 프로토콜과 사용법이 어려운 단점을 보완 할 수 있다. 제안하는 모델을 테스트하기 위해 감성클라이언트 스마트폰 앱을 구현하여 RESTful방식을 이용한 감성공유서비스를 테스트 하였다.

    본 논문에서 제안하는 시스템에서는 생체신호를 인식하여 사용자의 감성을 판별하는 과정이 고정된 장소에서 이루어지기 때문에 이동 간에 실시간으로 감성을 공유하는데 있어서는 한계점이 있다.

    향후 스마트폰에서 감성인식 및 판별하는 과정이 본 연구에서 제안된 감성클라이언트 스마트폰 앱에서 구동 된다면 실시간으로 이동 간에 감성정보를 친구와 공유 할 수 있을 것이라고 기대된다.

  • 1. Park S. Y., Kim D. K., Whang M. C. 2010 “Maximum Entropy-based Emotion Recognition Model using Individual Average Difference,” [Journal of the Korean Institute of Information and Communication Engineering] Vol.14 P.1558-1564 google
  • 2. Ahn S. M., Whang M. C., Kim D. K., Kim J. H., Park S. I. 2012 “Real-time emotion recognition technology using individualization processemotional technology,” [Korean Society For Emotion And Sensibility] Vol.15 P.133-140 google
  • 3. Whang S. H., Park C. H., Sim K. B. 2005 “Pattern Classification of Bio-iinformation To Percept Human Emotion,” [Korean Institute of Intelligent Systems] Vol.15 P.385-388 google
  • 4. Ahn S. M. 2012 “Development of individualization of emotion recognition and emotion sharing in real time under mobile circumstances,” M. S. these google
  • 5. Lopes Paulo. N., Salovey p., Cote S., Beers M., Petty R. E 2005 “Emotion Regulation Abilities and the quality of Social Interaction,” [Emotion] Vol.5 P.113-118 google doi
  • 6. Kim Y. S. 2012 “A Study on Emotional Experience through Image Sharing on SNS : Centered on Facebook,” M. S. these google
  • 7. Lee S., Hong C., Lee YK., Shin H. 2010 "Experimental emotion recognition system and services for mobile network environments," [IEEE Sensors] P.136-140 google
  • 8. Kim J. H., Ahn S. M., Park J. U., Whang M. C., Kim D. K. 2012 “The XML based Real-time Emotion Information Sharing System using Physiological Signals,” [The Korean Institute of Information Technology] Vol.10 P.205-211 google
  • 9. Ahn B. H., Lee H. J., Choi Y. H., Chung Y. G. 2010 “An Open API Proxy Server System for Widget Services,” [Korean Institute of Information Scientists and Engineers] Vol.16 P.918-926 google
  • [그림 1.] 제안하는 시스템 개념도
    제안하는 시스템 개념도
  • [그림 2.] 제안하는 시스템 시퀀스다이어그램
    제안하는 시스템 시퀀스다이어그램
  • [그림 3.] 제안하는 시스템 구성도
    제안하는 시스템 구성도
  • [그림 4.] 모바일 클라이언트 블록다이어그램
    모바일 클라이언트 블록다이어그램
  • [그림 5.] 모바일 클라이언트 스마트폰 앱
    모바일 클라이언트 스마트폰 앱
  • [그림 6.] RESTful 기반의 감성공유 웹서비스
    RESTful 기반의 감성공유 웹서비스
  • [표 1.] HTTP 메서드
    HTTP 메서드
  • [표 2.] 데이터 입력
    데이터 입력
  • [표 3.] 데이터 조회
    데이터 조회
  • [표 4.] 감성정보_XML
    감성정보_XML
  • [그림 7.] EmotionInfo_XML 예제문서
    EmotionInfo_XML 예제문서