Journal of the Korea Academia-Industrial cooperation Society Vol. 14, No. 9 pp. 4478-4484, 2013 http://dx.doi.org/10.5762/kais.2013.14.9.4478 예준호 1, 김철진 1* 1 인하공업전문대학컴퓨터시스템과 A Multiple Customization Technique based on Mobile Cloud Service Jun-Ho Ye 1 and Chul-Jin Kim 1* 1 Dept. of Computer Systems and Engineering, Inha Technical College 요약기존모바일커스터마이제이션연구는단일디바이스의서비스를변경하려는단일커스터마이제이션기법으로수행되어왔다. 그러나, 변경하려는모바일서비스가다중디바이스에일괄적으로적용되기위해서는기존의단일커스터마이제이션기법으로는미흡하다. 본논문에서는모바일서비스의흐름제어데이터를공유하여다중디바이스를커스터마이제이션하기위한기법을제안한다. 제안하는다중커스터마이제이션기법은푸시서비스와클라우드서비스를기반으로한다. Abstract The existing mobile customization researches have been performed by the single customization technique to change service of single device. But, the existing single customization techniques are insufficient to change mobile service to multiple devices in batches. In this paper, we propose the customization technique for customizing multiple devices sharing flow control data of mobile service. A multiple customization technique is based on the push service and the cloud service. Key Words : Cloud Service, Multiple Customization, Push Service 1. 서론 모바일어플리케이션에서적용되어사용되는서비스는일반적으로고정된흐름을지닌다. 기기에설치된운영체제에어플리케이션이종속되어있기때문이다. 서비스의변경은이러한종속성에서결코자유롭지못하다. 그렇기에서비스나데이터의변경을위해서는필연적으로재설치를통한업데이트의형태로이루어지게된다. 서비스종속의대안으로서비스를단편화시키고, 관리자가원하는서비스로변경하는기법이바로단일커스터마이제이션이다. 단일커스터마이제이션의서비스의독립성을통해서비스흐름을제어할수있는장점에도불구하고, 다중디바이스에서비스를주입하기에는서비스 를수동으로변경하는단점으로인해개개의디바이스를조작하는시간허비와, 서비스가변경된이후에도디바이스의서비스가비동기화되었을위험성, 그리고의도하지않은서비스로동기화될위험성이있다. 이런위험성을줄이고자클라우드에서비스를제어할수있는데이터를저장하고, 다중디바이스가클라우드와서비스동기화하거나, 일괄적으로서비스를배포하는것으로단일커스터마이제이션에서발생하는위험성을해소할수있다. 단일커스터마이제이션의위험성해소를위해본논문에서는단일커스터마이제이션기법과클라우드서비스를결합한다중커스터마이제이션기법을제안한다. 본논문은다음과같이구성된다. 2장에서는관련연구로서모바일클라우드서비스와푸시서비스에대해 * Corresponding Author : Chul-Jin Kim(Inha Technical College) Tel: +82-10-6398-7471 email: cjkim@inhatc.ac.kr Received August 14, 2013 Revised September 5, 2013 Accepted September 6, 2013 4478
알아보고, 기존커스터마이제이션연구를분석하며, 3장에서는두가지다중커스터마이제이션연구를제안한다. 4장에서는팀원간의일정공유를위한어플리케이션사례를통해본논문에서제안한기법의타당성을검증하고, 5장에서결론과향후연구의방향성을제시한다. 2. 관련연구 2.1 모바일클라우드서비스 모바일클라우드 (Mobile Cloud) 란기존클라우드환경에서디바이스가데이터나서비스를얻어올시, OS 혹은디바이스내부의데이터베이스처럼고정된환경에영향을받는것과달리, 유동적인상황과다른 OS환경에서도데이터를쉽게얻어오는기술을의미한다. 기존클라우드와모바일클라우드의차이점은모바일클라우드가서버에대한접근이간단하고, 서비스의높은확장성을가지며, 자유롭게디바이스를이동할수있다는것이다 [1]. 모바일클라우드서비스를사용함은디바이스내의데이터베이스를이용하는것이아닌, 모바일클라우드와의연결을통해서데이터나서비스를받거나저장하는것을의미한다 [2]. [Fig. 1] Mobile Cloud Service Structure 즉, Fig. 1과같이모바일클라우드가디바이스에게직접서비스나데이터를제공한다. 모바일클라우드는그에대한관심과활발한연구로많은오픈 API가존재한다. 그렇기에모바일클라우드의오픈 API를사용하는것으로구축비용과유지보수비용을줄일수있으며, 라이센스수수료에대한부분에서도비용이절감된다는장점이있다 [3]. 이외에도 HTML5의확산과하이브리드웹앱 (Hybrid Web App) 의등장으로디바이스 OS 의존적인구속성에서벗어나, 활용영역이넓어졌다는점을의미한다 [4]. 2.2 푸시서비스푸시서비스 (Push Service) 란서버에서디바이스로보 내는메시지로서푸시서비스를받는클라이언트의입장에서는클라이언트의의지와상관없이메시지를받아들이게된다. 그러한점에서푸시서비스는클라이언트가서버로요청이나전달을목적으로보내는메시지서비스인풀서비스 (Pull Service) 와는정반대되는개념이다. 푸시메시지를활용하기위해서는디바이스정보와디바이스에설치된어플리케이션의정보를취합하여만든푸시키데이터를서버에서관리되어야한다. 또한푸시서비스메시지를받기위해서는클라이언트의디바이스는반드시켜져있어야하고, 디바이스에받을어플리케이션이설치되어야만서버로부터푸시를받을수있다. [Fig. 2] Push Service Structure Fig. 2는현재상용화되어사용되는푸시서비스구조이다. 푸시서비스의사례로는 SMS(Short Message Service) 와메일 (SMTP) 서비스가대표적인푸시서비스의예다. 애플에서는 APNs(Apple Push Notification service) 를제공하고있으며, 구글에서는 GCM(Google Cloud Messaging) 을통해푸시서비스를제공하고있다. 두서비스는각각이름과명칭은다르지만 Fig. 2를통해볼수있는푸시서비스의구조와유사한형태의서비스제공방식을취하고있다 [5]. 2.3 단일커스터마이제이션구조단일커스터마이제이션이란변경하려는서비스흐름을단일디바이스에적용하는것을의미한다. [Fig. 3] Service Flow of Single Customization 관리자가서비스를변경하기위해서는서비스에대한설정값이들어있는서비스흐름제어데이터 (Service Flow Control Data) 를사용자의디바이스로전달함으로 4479
한국산학기술학회논문지제 14 권제 9 호, 2013 써사용자의서비스를제어한다. 여기서서비스란디바이스를통해사용자가보게되는화면-액티비티 (Activity) 를의미한다. 관리자가서비스제어를위해보낸서비스흐름제어데이터는 Fig. 3과같은과정을거쳐사용자의모바일디바이스로전송후저장된다. 를활용한본사례 [9] 는재난발령서버에서재난이예상되거나발생한지역에서지상파디지털멀티미디어방송 (T-DMB: Terrestrial Digital Multimedia Broadcasting) 을통해재난방송을할수있도록, T-DMB를탑재된안드로이드모바일디바이스에푸시메시지를보내어자동인식을통하여재난을조기에알리는시스템이다. 서비스가디바이스에전달되고, 어플리케이션의서비스변경을유도한다는점에서커스터마이제이션과유사함을알수있다. 하지만, 사용자가서비스변경을알아야한다는점과다중의디바이스에변경한서비스를배포하는과정을보았을때, 커스터마이제이션으로보기엔미흡한연구이다. [Fig. 4] Service Flow Structure of Single Customization 단일커스터마이제이션의서비스구조는 Fig. 4와같이사용자가서비스를사용하려할때, 모바일디바이스에서비스를요청하고, 제공받는역할을하는클래스인 ServiceController에서비스를요청한다. ServiceController 는관리자가전달한서비스흐름제어데이터를분석하여, 관련서비스로변경한뒤, 관리자가의도한서비스로디바이스의서비스를전환한다. 2.4 모바일클라우드기반다중커스터마이제이션연구 2.4.1 icloud와 Google Cloud Storage 애플사에서제공하는클라우드컴퓨팅서비스 (Cloud Computing Service) 로서모바일디바이스와개인컴퓨터, 태블릿등을연결하는매개체역할을한다 [6]. 개인의데이터관리가주목적인클라우드서비스이기에커스터마이제이션을위한데이터공유나서비스제어에사용키에는부적절하다. 구글에서제공하는구글클라우드스토리지는 RESTful형식의서비스로서저장과데이터접근을위한클라우드이다. icloud와마찬가지로데이터베이스적인측면이강하고, 서비스에대한지원은 icloud 보다더적다 [7,8]. 유럽과미국을중심으로서비스를제공하기때문에접근이불안정하고, Google Console로 API를제어할수있지만, 원하는데로구조를변경할수가없어서비스제어를통한커스터마이제이션에는접합하지못하다. 따라서상용화되거나기업에서제공하는클라우드에대한서비스를사용하기보단직접모바일클라우드환경을만드는것이더욱효과적일것이다. 2.4.2 푸시서비스기반 T-DMB 사례현재는 GCM으로업데이트된구글의 C2DM 서비스 3. 클라우드서비스기반다중커스터마이제이션 3.1 다중커스터마이제이션구조 서비스변경의모든권한을부여받은관리자가서비스흐름제어데이터를직접디바이스에전달하여, 서비스흐름을변환하는구조가단일커스터마이제이션이라면, 다중커스터마이제이션은 Fig. 5의구조처럼서비스흐름제어데이터를모바일클라우드를통해다중디바이스가공유받음으로써, 서비스의대한흐름을일괄적으로전환할수있는구조이다. [Fig. 5] Multiple Customization Structure [Fig. 6] Service Flow of Customization by Cloud Server Fig. 6에서와같이사용자가변경할서비스흐름제어데이터 (SFCD) 를모바일클라우드에전달하는것으로서비스변경을요청한다. 모바일클라우드에서는데이터베 4480
이스에서비스흐름제어데이터를저장한다. 이로써, 다중디바이스의서비스를변경할수있는준비가끝나게된다. 변경된서비스정보를다중의디바이스에게전달하는과정은푸시서비스를이용하는방식과모바일클라우드서비스를이용하는방식으로구분된다. 스에서받아온서비스흐름제어데이터 (SFCD) 를확인하여다중디바이스에전송한다. 만일에전송이실패할경우를대비해동일한메시지를재전송하게된다. 3.2 푸시서비스기반다중커스터마이제이션기법푸시서비스를통한모바일클라우드기반다중커스터마이제이션은모바일클라우드의사용자가변경한서비스흐름제어데이터를저장함으로서다른디바이스의서비스변경을유도한다. 푸시서버는변경된정보를수신하고, 모바일클라우드에가입된다중디바이스에서비스흐름제어데이터를전송하는기법이다. 사용자는변경된서비스에대한흐름을인식하지못하는상황에서디바이스내부에서비스흐름제어데이터를저장한후, 저장된데이터를바탕으로서비스를이용한다. 푸시서비스기반다중커스터마이제이션구조는다음 Fig. 7과같다. [Fig. 9] Callback Process of Mobile Device 푸시서버가보낸설정정보는 Fig. 9의과정과같이 Push-ServiceCallback 클래스를통해전달받는다. 수신한설정정보는 ServiceController 클래스를생성한뒤, 서비스흐름제어데이터를전달한다. [Fig. 10] Analysis Process of SFCD [Fig. 7] Multiple Customization Structure by Push Service [Fig. 8] Sending Message by Push Server 푸시서버활용은모바일클라우드의담당이다. 각디바이스에데이터전송부분은 Fig. 8에서와같이푸시서버에위임하여모바일클라우드의부담을최소화한다. 푸시서버는모바일클라우드가보낸서비스요청을바탕으로데이터베이스에서정보를받아오고, 데이터베이 ServiceController 클래스는 Fig. 10처럼생성자를통해서비스흐름제어데이터를전달받는다. 생성자는 parsesfcd() 메소드를호출한다. parsesfcd() 메소드는서비스흐름제어데이터를분석하고, 최종으로반환할서비스를판단한다. 분석한데이터를바탕으로 ServiceStorage 클래스의메소드를호출하며사용자화면으로사용자에게반환한다. 3.3 클라우드서비스기반다중커스터마이제이션클라우드서비스기반다중커스터마이제이션기법은서비스흐름제어데이터를서비스흐름제어데이터객체에담아모바일클라우드로전송하는과정은푸시서버기반다중커스터마이제이션기법과동일하다. 그렇지만, 푸시서버기반다중커스터마이제이션이푸시메시지의형태로서비스흐름제어데이터를다중디바이스에전달하여일괄적으로서비스를변경하는기법이라면, Fig. 11을통해볼수있는모바일클라우드서비스기반다중커스터마이제이션은디바이스가변경서비스를클라우드서버와동기화하여서비스를변경하는기법이다. 4481
한국산학기술학회논문지제 14 권제 9 호, 2013 (7) ServerManagerClass에서 SFCD 객체를받으면, 객체를 ServiceControllerClass로반환 (8) SFCD를분석하여사용자에 View를리턴 [Fig. 11] Multiple Customization Structure based on Mobile Cloud Service 사용자가서비스를요청하고, 받아오는행위는모두 ServiceController에서처리한다. 푸시서비스기반커스터마이제이션기법의 ServiceController 클래스와달리 ServerManager 클래스의도움을받아데이터를받아온다. ServerManager 클래스는받아온 SFCD 값을관련객체에담아저장한후, ServiceController 클래스를다시호출하여, 모바일클라우드와통신한결과를표시한다. 모바일클라우드와통신에서실패결과를받는경우, 반드시사용자에게위험요소를알린후, 이전서비스흐름을사용한다. [Fig. 12] Request SFCD to Cloud Web Server Fig. 12은디바이스에서비스데이터가저장되었지만, 실행을위해서반드시동기화과정을거치는구조를나타낸다. 모바일클라우드는요청내용을토대로서비스를데이터베이스로부터얻어와모바일디바이스로전송한다. 4. 실험및평가 본연구에서는모바일클라우드를이용하여다중의디바이스서비스를변경하는다중커스터마이제이션기법을제안하였다. 이에대한적합성과실현가능성을검증하기위해사례연구로팀원간일정을공유하는어플리케이션에적용한다. 본어플리케이션에서는공지사항서비스를커스터마이제이션하는사례를구현한다. 본실험은서비스흐름을전환할데이터를모바일클라우드에저장하는과정과서비스를변경하는과정으로구분하여수행한다. 후자의과정은푸시서비스를이용한방법과동기화를이용한방법으로다시나누어수행한다. [Fig. 13] Synchronization Process between Device and Mobile Cloud 모바일디바이스와클라우드서비스와의동기화는 Fig. 13과같은과정을거친다. (1) 사용자가 ServiceControllerClass에서비스요청 (2) ServerManagerClass에 SFCD를요청 (3) CloudWebServer에 SFCD를요청 (4) 데이터베이스에 SFCD를로드 (5) 데이터베이스에서그에상응하는값을 Cloud WebServer에반환 (6) CloudWebServer는전달받은값을 SFCD 객체에담아 SFCD를요청한사용자모바일디바이스로객체를전달 [Fig. 14] Concept Service Flow between Login and Menu Activity [Fig. 15] Actual Service Flow between Login and Menu Activity 4482
모바일클라우드에저장되어있는기본서비스흐름은 Fig. 14처럼로그인액티비티에서메뉴액티비티로이어지는흐름을지닌다. Fig. 15은실제액티비티서비스에대한결과를나타낸다. Fig. 16은공지사항을추가하여서비스를커스터마이제이션하기위한액티비티다. 공지사항제목, 공지내용을기입하고, 서비스흐름제어데이터는디바이스내부에서만들어져모바일클라우드로전송한다. 전환을통해, 로그인액티비티에서이어지던액티비티는메뉴액티비티가아닌, 공지액티비티로변경되어실행된다. 전자와같이전환된현서비스흐름상태는서비스변경전까지지속된다. 클라우드동기화를통한커스터마이제이션기법은 Fig. 16에입력값과같다. 서버에서는전달받은공지사항데이터와서비스흐름제어데이터를저장한다. 서버에서는서비스동기화를위해아무런행위가없는대신, 디바이스가능동적으로서비스데이터를클라우드에요청하여받아온다. [Fig. 16] Input Customization Data in New Notification Activity Fig. 16처럼모바일클라우드에변경을요청하면, 현서비스를제공받는다중디바이스는메뉴액티비티가아닌, 공지액티비티로전환되게된다. 공지사항데이터를모바일클라우드로전송함과동시에서비스에대한변경요청이자동수행된다. 다음은서비스의변경이클라우드에설정된후, 변경서비스를디바이스에전달하는과정으로, 실험은푸시서비스와동기화방법으로나누어진다. 두실험에적용되는서비스요청값은 Fig. 16의입력값과같다. Fig. 17의 The Present SFCD는현재서비스가적용되고있는서비스흐름제어데이터를의미한다. 본질적으로사용자는서비스흐름제어데이터를확인할수없지만, 변화되는서비스흐름제어데이터를알기위하여임의삽입되었다. 푸시서비스기반커스터마이제이션기법에서모바일클라우드는공지사항에대한정보를전송받게되는즉시, 전달받은서비스흐름제어데이터와공지사항의데이터값은데이터베이스에저장한후에공지사항정보의 ID 값과서비스흐름제어데이터를푸시서버의인자값으로전달된다. 푸시서버는수신한데이터를인지하여다중디바이스에데이터를전송한다. 다중디바이스는푸시서비스에대한콜백메소드를통해데이터를받고, 그즉시저장한다. 어플리케이션을재실행시서비스흐름은 Fig. 17과같이변경되어동작한다. [Fig. 17] Changing Activity Flow [Fig. 18] Changed service activity from Menu Activity to Notification Activity 서비스흐름변경은푸시서비스기반커스터마이제이션기법과동일하며, 결과또한같다. Fig. 18는서비스가변경된두실험의결과화면으로, The Present SFCD의서비스흐름제어데이터가 Fig. 16의 The Present SFCD 의서비스흐름제어데이터와다르다. 이는서비스흐름제어데이터로서비스가변경되었음을의미한다. 안드로이드플랫폼을기반으로본문에서제시한다중커스터마이제이션과모바일동기화기법에대한검증은위실험을통해실제적용가능함을알수있다. 또한그타당성을인증하였다. 5. 결론및향후연구과제 본논문에서는모바일클라우드의서비스공유를기반으로디바이스와동기화를하는다중커스터마이제이션을제안하였다. 다중커스터마이제이션은서비스흐름제어데이터를모바일클라우드에저장관리함으로가능하다. 즉, 서비스를공유한다는것은모바일클라우드에서비스흐름제어데이터를공유한다는것이다. 이러한서비스제어는디바이스가모바일클라우드에요청하거나, 모바일클라우드가푸시서버를통해다중디바이스에주입할때가능하다. 향후다중커스터마이제이션의활용성을보강하기위해디바이스와모바일클라우드간에서비스동기화과 4483
한국산학기술학회논문지제 14 권제 9 호, 2013 정에서발생하는시간적소모와보안에대해연구하고, 사용자들의서비스변경의혼선으로인해문제가될수있는서비스의병목현상에대한방안을연구한다. References 예준호 (Jun-Ho Ye) [ 준회원 ] 2009 년 3 월 ~ 현재 : 인하공전컴퓨터시스템과재학 [1] Lee G. C., Mobile Cloud concepts and technology trends, Telecommunications Technology Association, p54-56, 2012 [2] I. H. Bea., Context Awareness Mobile Multimedia Service in Cloud Computing, Review of Korean society for internet information / v.11 no.4, pp.9-15, 2010 [3] Gwon J. Y., Samsung SDI Mobile Cloud Computing Propulsion Strategy and Construction Case, Korea information processing society review v.18 no.5, pp.75-80, 2011 [4] Woo J. J., Mobile Cloud Trends and Prospects, Korea information processing society review v.17 no.3, pp.107-115, 2010 [5] Smartphone and Push Alarm Service, A Magazine of Microsoftware, 2011 [6] Yun S. H., Kim G. T., Cloud Service Type and Mobile Cloud Service Case, Korea information processing society review v.18 no.5, pp.88-94, 2011 [7] A homepage for Google Cloud Storage Introduce, https://developers.google.com/storage/ [8] J. B. Jung, Mobile Cloud Market Trends and Preview, Korea information processing society review, v.18 no.5, pp.4-9, 2011 [9] Jeon I. C., Choi S. J., Lee Y. T., An implementation of wake-up method for T-DMB by android C2DM, The journal of the Institute of Webcasting, Internet and Telecommunication v.12 no.5, pp.283-290, 2012 DOI: http://dx.doi.org/10.7236/jiwit.2012.12.5.283 < 관심분야 > 모바일푸시서비스, 커스터마이제이션, 모바일클라우드컴퓨팅, 컴포넌트기반개발방법론 김철진 (Chul-Jin Kim) [ 종신회원 ] 2004 년 2 월 : 숭실대학교대학원컴퓨터학과 ( 공학박사 ) 2004 년 3 월 ~ 2009 년 2 월 : 삼성전자책임연구원 2009 년 3 월 ~ 현재 : 인하공전컴퓨터시스템과조교수 < 관심분야 > 컴포넌트기반개발방법론, 컴포넌트커스터마이제이션, 모바일서비스, 클라우드컴퓨팅 4484