포커스 포커스 상황인식 (Context Awareness) 컴퓨팅기술동향 류승완 * 장효선 ** 신동천 * 박세권 * 유비쿼터스컴퓨팅환경에서는다양한센서들과기기들의활용으로사용자에게자신의환경을의식하지않고실질적인서비스를제공할수있게될것이다. 이러한유비쿼터스컴퓨팅환경구축을위한인프라의핵심기술이상황인식컴퓨팅 (Context Awareness Computing) 기술이다. 상황인식컴퓨팅기술은도처에설치된센서들로부터얻은무수히많은상황정보를서비스의목적하는바에따라적절히처리하여사용자의현재상황에가장적합한서비스를찾아내고이를동적으로재구성하여사용자에게제공하도록한다. 앞으로유비쿼터스컴퓨팅환경이발전할수록상황인식컴퓨팅기술의규모는기하급수적으로증대하게될것이다. 하지만이를활용한실질적적용사례는낮은실정이다. 본고는유비쿼터스환경에서의상황인식컴퓨팅기술의개념을소개하고, 상황인식컴퓨팅의주요요소기술및기술동향을살펴본후, 상황인식컴퓨팅에대한연구동향을알아봄으로써이를기반으로상황인식시스템의활용도를높이는데기여하고자한다. 목 I. 서론 II. 상황인식기요 차 I. 서론유비쿼터스컴퓨팅환경하에서사용자들은자신들을둘러싼수많은컴퓨터들의존재를전혀의식하지않고자신에게제공되는실제적인서비스에만관심을가지게될것이다. 이를위해서는사람들이현 III. 상황인식컴퓨팅의주요요소기술 IV. 상황인식컴퓨팅연구동향 V. 결론및시사점 재전기나수도를쓰는것과마찬가지로자유롭고쉽게컴퓨터를통해필요한서비스를제공받을수있는환경이필요하게될것이고, 이러한 IT 서비스의유틸리티화를통해서진정한의미의유비쿼터스컴퓨팅환경이실현될수있을것이다. 이러한유비쿼터스컴퓨팅환경을구축하기위한 기반기술로제일주목받고있는것이상황인식 (Context-Awareness) 컴퓨팅기술이다. 상황인식 * 중앙대학교정보시스템학과 / 교수 ** 중앙대학교대학원정보시스템학과 / 연구원 컴퓨팅기술은사용자의현재위치, 시간, 주변에있 는다른사람이나정보가전기기들, 사용자의행동 1
주간기술동향통권 1435 호 2010. 3. 3. 및작업이력등과같은사용자의현재상황정보 (contextual information) 를파악하고분석하여사용자가현상황에서필요로하는서비스를검색하여구동시켜주는기술이다. 이러한상황정보는센서네트워크내의수많은센서로부터수집된자료들을분석하여파악될수있다. 실제로여러분야에서현재이용되고있는위치기반서비스 (Location Based Services: LBS) 도상황인식컴퓨팅기술중의한분야이다. 하지만현재상황인식을활용한시스템은그연구기간에비해실질적적용사례가낮은실정이다. 그러나센서의발달과유비쿼터스인프라환경이다양한분야에구축됨으로써이를기반으로상황인식기술의상업적활용도를높이고보다실용적인상황인식기술의확산이이루어질것이다. 본고에서는상황인식에대한개념을살펴보고, 상황인식컴퓨팅에필요한주요기술들인상황정보센싱, 상황인식모델, 상황인식미들웨어, 상황정보추론에대한개념과각기술에대한동향을살펴본후, 상황인식컴퓨팅에대한연구동향을알아봄으로써이를기반으로상황인식시스템의활용도를높이고자한다. II. 상황인식개요 상황인식에대한개념은 90 년대이래분산시스템에의해중요성이증가되었으며쉴새없이변화하는환경의모바일단말사용에수반되었던수많은문제점들에대한해결책처럼보였다. 상황의존성 (Context Dependency) 은유비쿼터스컴퓨팅시스템의최근연구영역에서주요한이슈이며, 유비쿼터스컴퓨팅은 ( 그림 1) 과같이분산컴퓨팅과모바일컴퓨팅에서진화된개념이다 [1]. 상황 (Context) 은상황인식을하기위해필요한정보로써시간과장소는상황에있어가장잘알려진예중하나이다. 날씨나주식정보와같이직관적으로보이지않는매우많은상황들또한존재하며, 컴퓨팅환경에적용하기위해많은연구들이상황과상황인식을정의하려는노 Distributed Computing Mobile Computing Ubiquitous Computing Mobile Networks Mobile Information Access Adaptive Applications Context-Awareness Ad-hoc Networks Smart Sensors & Devices ( 그림 1) 유비쿼터스컴퓨팅의진화단계 [1] 2
포커스 력을기울였다 [2]. Schilit[3] 는최초로상황인식에대한용어와정의를소개하였다. Schilit 는네트워크연결성, 통신비용, 통신대역폭등인근에존재하는자원인컴퓨팅상황정보 (computing context information), 사용자프로필, 위치, 현재의사회적상황을포함한사람정보인사용자상황정보 (user context information), 조명, 소음수준, 교통상황등물리적상황정보 (physical context information) 와같이세가지범주로정의하였다. 또한 Chen 과 Kotz[4] 는상황인식을능동적 (active) 상황인식과수동적 (passive) 상황인식으로구분하여정의하였으며, 능동적상황인식은새로운상황이나상황의변경이발생하면자동으로이와관련된동작을실행하도록시스템을구성하는반면, 수동적상황인식은새로운상황이나상황의변경이발생하면사용자에게이에대한정보를제공하거나차후검색이가능하도록정보를유지하도록하는차이가있다. III. 상황인식컴퓨팅의주요요소기술 상황인식컴퓨팅을위해서는몇가지주요요소기술이있다. 상황정보를얻기위한센싱기술과상황정보를가공하고저장하며공유하기위한상황인식모델, 상위상황정보를유도하고추론하는상황인식추론기술이필요하다. 마지막으로사용자와애플리케이션사이에중간매개체역할을하는상황정보미들웨어기술은빠져서는안될핵심기술이다. 이번절에서는이러한상황인식컴퓨팅의주요요소기술에대한개념과각기술에대한동향을살펴본다. 1. 상황정보센싱상황인식컴퓨팅의가장기본이되는상황을얻기위해서는상황정보센싱 (Context information Sensing) 기술이필요하다. 상황정보는주로사용자인터페이스또는센서, 센서네트워크등을통해수집된다. 1 차적인정보는사용자가직접사용자인터페이스를통해사용자의개인정보나일정등과같은상황정보를입력할수있다. 그외의온도, 습도와같은환경적상황정보와사용자의체온, 혈압등과같은정보들은사용자단말혹은사용자주변에부착된센서로부터수집될수있다. 상황정보센싱은이러한상황정보를수집하고이들정보를모델에따라내부에저장하는과정을거친다. 이러한정보들은이후추론을위한기초자료가된다. 이동환경에서위치정보는가장빈번하게활용되고, 서비스제공을위해꼭필요한상황정보이다. 위치정보를얻는대표적인방법에는 GPS(Global Positioning System)[5] 가있다. GPS 는 3
주간기술동향통권 1435 호 2010. 3. 3. 위성이보내는부호신호를이동단말기에설치된 GPS 수신기로수신하여삼각측량원리로위치를계산한다. GPS 와비슷한위성기반의위치인식기술로는러시아에서운영하는 GLONASS[6], 유럽에서개발하고있는갈릴레오 (Galileo)[7] 등이있다. 또다른대표적인예로는이동통신망기반시스템 [8] 을이용하는방법이있다. 이동통신망기반시스템은이동단말기와기지국, 위치인식관련서버들로구성되어있으며, 신호의세기, 신호의도달시간, 신호의도달시간차, 신호의입사각등과같은파라미터를이용하여위치를계산한다. 그밖의위치정보를수집할수있는수단으로는 Active Badge 나초음파, 무선랜을활용하여실내에서의위치를알아볼수있는마이크로위치인식시스템이있다. 또한사람이나사물등의객체를식별하기위해서는 RFID(Radio Frequency Identification) 기술을활용할수있다. 이외에시간정보는내장된시계를통해, 인접객체에대한정보는위치서버를통해, 대역폭은커널모듈에서제공하는 API(Application Programming Interface) 를통해수집이가능하다. 그리고조명의밝기는감광성반도체소자, 기울기와진동은가속도계, 인접객체감지는수동형적외선센서, 소리는마이크로폰, 기후정보는온도계및습도계를이용하여센싱이가능하다. 그밖에감지, 인식, 컴퓨팅및통신기능을가지는초소형센서노드를개발, 이를일상사물에부착하여스마트사물과환경과의상호작용등에관한연구가이루어지고있다. 2. 상황인식모델상황인식컴퓨팅환경에서애플리케이션들은상황인식모델 (Context Awareness Model) 을기반으로개발되고실행된다. 상황인식시스템에서는상황정보를가공하고저장하며공유하기위한효율적이며통합된상황인식모델을제공할수있어야한다. 이를위하여상황인식시스템은적절한상황인식모델을구성하고이를관리할수있는기능과능동적이고지능적인서비스를위하여상황인식모델에명시적으로표현되지않은암시적인상황정보를추론할수있는기능을제공해야한다. Strang[1] 은상황인식모델링을위해서는 6 가지의요구사항이만족되어야한다고언급하였다. 이러한 6 가지요구사항들은 Distributed composition(dc), Partial validation(pv), Richness and quality of information(qua), Incompleteness and ambiguity(inc), Level of formality(for), Applicability to existing environments(app) 이다. 또한상황정보를위한모델로는 Key-Value Models, Markup Scheme Models, Graphical Models, Logic Based Models, Object Oriented Models, Ontology Based Models 등이있다. Strang 은다양한상황정보모델이이러한 6 가지 4
포커스 < 표 1> 상황정보모델과요구사항 [1] Approach-Requirement Dc Pv Qua Inc For App Key-Value Models - - - - - + Markup Scheme Models + + - - + ++ Graphical Models - - + - + + Object Oriented Models ++ + + + + + Logic Based Models ++ - - - ++ Ontology Based Models ++ ++ + + ++ + 요구사항을얼마나잘반영할수있는지 < 표 1> 과같이분석하였다. 평가결과를보면모든면에서온톨로지기반의상황인식모델이우수하다는사실을알수있다. 현재상황인식컴퓨팅기술을연구하는많은연구진들이 Strang 이수행한결과를참조하여온톨로지기반의상황인식모델링을개발하고있으며, 그에대한표준화활동이함께이루어지고있다. 그중대표적인예는 SOUPA(Standard Ontology for Ubiquitous and Pervasive Applications)[9] 가있다. 3. 상황정보추론다양한센싱데이터를융합하여상위상황정보를유도하기위해확률적인매커니즘을제공하여추론을하는것은중요하다. 학자들에따라서여러가지추론방식을사용하고있는데, 최근상황인식서비스에서온톨로지를이용한상황지식의공유와재사용지원및높은추론기능을제공함에따라이에온톨로지를이용한추론시스템이연구되어왔다. 온톨로지기반추론엔진은온톨로지로부터얻은지식과사실을유추하는기능을실행한다. 즉, 온톨로지를대상으로추론엔진을통해서질의를돌려주게된다. 이때추론엔진은질의어의관계를파악하여관련용어를검색엔진에전달하게된다. 이러한상황정보추론 (Context information reasoning) 에대한대표적인연구로는 Hoolet, F-OW, Jena 등이있다. Hoolet[10] 은 OWL 의파싱과처리를위해 WonderWeb OWL API(OWL 온톨로지들을표현하는데이터구조의프로그램적처리를제공 ) 와추론을위해 Vampire prover 를기반으로제작되었고, 확장이용이한 first order translation 방법을기반으로추론을하는 OWL DL 을위한추론엔진이다. F-OWL[11] 은 OWL Lite 온톨로지전용추론엔진으로, Flora-2 를기반으로제작되었다. Flora-2 는 F-Login, HiLog 와 Transaction Logic 의통합언어를 XSB 추론엔진으로변형하 5
주간기술동향통권 1435 호 2010. 3. 3. 는 object-oriented knowledge based language 이고 application development platform 이다. Jena2[12] 는시맨틱웹을위한애플리케이션들을위해작성된 Java 프레임워크이다. Jena2 는 OWL 데이터에대한저장모델자동생성시물리적스키마구조가단순하고, 이로인해많은 OWL 관련시스템개발에이용되고있다. 하지만비정규화된단일구조로서단일테이블에정보들을저장함에따라대용량의 OWL 데이터에대한저장및질의시성능이저하되는문제점을가지고있다. 4. 상황인식미들웨어상황인식시스템에서는다양한정보를수집하는센서와사용자에게적절한서비스를제공하는애플리케이션사이에중간매개체역할을하는상황인식미들웨어 (Context Awareness Middleware) 가일반적으로존재한다. 상황인식미들웨어는상황인식애플리케이션과센서들사이에위치하여다양한정보를수집하고가공하여이러한정보들을애플리케이션에제공하고사용자에게적절한서비스를제공한다. 상황인식미들웨어로는 Aura, CARMEN, CARISMA, Cooltown, CORTEX. Gaia, MiddleWhere, MobiPADS, SOCAM 등이있으며현재에도많은연구가이루어지고있다. Kristian[13] 은 ( 그림 2) 와같이상황인식미들웨어의속성을메이저카테고리들 (major categories) 과서브카테고리들 (sub categories), 그리고서브 -서브카테고리들 (sub-sub categories) 로분류하였다. 메이저카테고리는 Environment(En), Storage(St), Reflection(Re), Quality(Qu), ( 그림 2) 상황인식미들웨어의속성 [4] 6
ReSenflf-soCocontrastnteurApplicaMiddlewaContexDatarutioctuaincesnretxtedre포커스 Adaption(Ad), Migration(Mi), Composition(Co) 으로총 7 개로분류하였고, 서브카테고리로는 Environment 의 Infrastructure 와 Standalone, Storage 의 Context 와 Data, Reflection 의 Context 와 Middleware 그리고 Application, Quality 의 Resources 와 Context, Adaption 의 Application, Middleware 로분류하였고, 마지막으로서브- 서브카테고리들은 Application 의 Self 와 Rules, Middleware 의 Rules 와 Profile, 그리고 Transparent 로분류하였다. 또한, 미들웨어시스템들은각자다른특성들을가지고있기때문에시스템들의이해도를높이기위해 < 표 2> 와같이앞서분류한카테고리들에맞추어미들웨어시스템들이지원하는영역을분류하였다. 앞선분석을통해각미들웨어의특성을이해하고, 각시스템에맞는미들웨어를개발하거나선택하는데도움이될수있다. < 표 2> 상황인식미들웨어시스템의영역분류 [4] En St Re Qu Co Mi Ad IMiddleware Context Middleware Application Tran Prof Rule Rule Self Aura CARMEN CARISMA Cooltown CORTEX Gaia MiddleWhere MobiPADS SOCAM IV. 상황인식컴퓨팅연구동향 유비쿼터스컴퓨팅시스템을개발하기위해서국내외많은기업과학교에서는다양한상황 인식컴퓨팅기술을개발하고적용하여보다지능적이고효율적인환경을구축하려노력하고있 다. 이번장에서는상황인식에대한주요연구동향들에대해살펴보고자한다. 7
주간기술동향통권 1435 호 2010. 3. 3. CoBrA(Context Broker Architecture)[14] 는 2004 년까지 UMBC(University of Maryland, Baltimore County) 에서개발한지능형공간상에존재하는모든컴퓨팅개체들을위한상황정보공유모델을관리하는상황브로커 (Context Broker) 에이전트개발을목표로한연구이다. 브로커는서로다른정보소스에서의상황정보획득을도와주고, 상황정보모델을관리하고유지하며, 에이전트들간의지식공유를도와준다. 이러한브로커는상황및지식저장관리모듈, 상황추론엔진, 상황획득모듈, 그리고보안관리모듈로구성된다. Gaia[15] 는 University Of Illinois 에서개발된상황인식서비스구조로응용이다양한상황정보를얻고추론할수있게해준다. Gaia 시스템은존재하는자원들을쿼리하고이용할목적과동시에상황정보에접근하고사용할목적으로서비스들을외부로노출시킨다. 또한 Gaia 시스템은사용자중심적이고, 자원인식이가능하며, 여러장치들을사용할수있어상황정보를효과적으로사용할수있는모바일응용들을개발하기위한프레임워크도제공하고있다. Gaia 시스템의아키텍처는크게 Gaia Kernal 과 Application Framework 로구성된다. SOCAM(Service-Oriented Context-Aware Middleware)[16] 은 Singapore 국립대학에서주관하여개발한미들웨어로상황인식서비스와시스템개발을용이하게하기위해제안하였다. 또한미들웨어내에서상황정보모델링을위한 OWL(Web Ontology Language) 를사용하였다. SOCAM 은분산된상황정보제공자들로부터상황정보를획득한후, 이를적절한형태로가공하여상황인식서비스에정보를제공하는 Context Interpreter 라고불리는중앙서버를사용하여, 상황정보제공자, 상황정보번역자, 상황정보데이터베이스, 상황인식서비스, 위치서비스컴포넌트로구성된다. Scarlet-Context-aware infrastructure[17] 는 Illinois 기술연구소에서주관하여이질적플랫폼간의상황정보교환을위해서개발되었다. Scarlet 는상황인식컴퓨팅환경의모든측면을다루고있지않고, 단지응용부문에서상황정보를어떻게제공할것인가에대한문제에만역점을두고있다. 특히이질적인플랫폼간에상황정보전송을위해연구를하였다. 또한, Scarlet 은 SOAP 과 WSDL 을이용하여플랫폼간의호환성을유지하였다. CAMUS(Context-Aware Middleware for URC Systems)[18] 는 ETRI 에서개발하고있는 URC(Ubiquitous Robotics Companion) 환경내에서획득된상황정보를기반으로환경내에있는사용자에게적절한서비스를제공할수있도록상황기반응용의개발과실행을지원하는상황인식미들웨어이다. CAMUS 에서는온톨로지기반의계층적상황정보모델을사용하고있으며, 이를지원할수있는상황정보관리모듈을제공하고있다. 8
포커스 V. 결론및시사점 지금까지상황인식에대한개념과컴퓨팅의주요요소기술, 컴퓨팅의연구동향에대해살펴보았다. 상황인식컴퓨팅기술은유비쿼터스컴퓨팅환경구축을위해가장핵심이되는요소기술로정의되고있다. 그러나상황인식을활용한시스템의경우일반적으로상업적활용도가낮은데, 그이유로는상황정보의경우, 그종류가매우많고수집, 처리해야하는양또한방대하여이러한조건을만족시키는컴퓨터시스템을구성하기어려우며, 개발비용과복잡도또한대단히높다는점이있다. 또한정보보호와개인화의문제, 신뢰성, 칩과통신료및에너지의저가격실현에대한문제등이있다. 본고에서제시하는상황인식컴퓨팅의각단계별요소기술개발을통해현시점에서의상황인식컴퓨팅제공을위한문제점들을해결함과동시에산업전반에적용할수있다면진정한의미의유비쿼터스컴퓨팅에한걸음더다가갈수있을것이다. < 참고문헌 > [1] T Strang, C Linnhoff-Popien, A Context Modeling Survey, Workshop on Advanced Context Modeling, Reasoning and Management, UbiComp, 2004. [2] Chen G. and Kotz D. A survey of context-aware mobile computing research, Tech. Rep. TR2000-381m Dartmouth, November 2000. [3] Schilit, B., Adams, N. Want, R., Context-Aware Computing Applications, 1st International Workshop on Mobile Computing Systems and Applications, 1994. pp.85-90. [4] Guanling Chen and David Kotz, A Survey of Context-Aware Mobile Computing Research, Dartmouth Computer Science, 2000. [5] Bradford W. Parkinson, James J. Spilker, Global Positioning System: Theory and Applications, American Institute of Aeronautics and Astronautics, 1996. [6] Udo Rossbach, Positioning and Navigation Using the Russian Satellite System GLONASS, Universitat der Bundeswehr Munchen, 2000. [7] Muriel Simon, Andrew Wilson, Galileo: The European Programme for Global Navigation Services, ESA Publications Division, 2005. [8] John A. Brennan, Jon R. Krohmer, Principles of EMS Systems, Jones & Bartlett Publishers, 2006. [9] Chen, H. et al. SOUPA: Standard Ontology for Ubiquitous and Pervasive Applications. First Annual International Conference on Mobile and Ubiquitous systems: Networking and Services, 2004. [10] OWL:Hoolet, http://owl.man.ac.uk/hoolet/ 9
주간기술동향통권 1435 호 2010. 3. 3. [11] F-OWL, http://sourceforge.net/projects/fowl/ [12] Kevin, W., C. Sayers, and H. Kuno, Efficient RDF Storage and Retrieval in Jena2, Proceedings of First International Workshop on Semantic Web and Databases, 2003, pp.131-151. [13] Kristian Ellebæk Kjær, A survey of context-aware middleware, 25th conference on IASTED International Multi-Conference: Software Engineering, 2007. [14] H Chen, An Intelligent Broker Architecture for Pervasive Context-Aware Systems, Doctorial Thesis of UMBC, 2004. [15] Gaia project, http://gaia.cs.uiuc.edu/ [16] Gu, T. et al, An Ontology-based Context Model in Intelligent Environments, Communication Networks and Distributed Systems Modeling and Simulation Conference, San Diego, California, USA, 2004. [17] Abhay Daftari et al, On the Design Framework of Context Aware Embedded Systems, Monterey Workshop on Software Engineering for Embedded Systems, 2003. [18] H. Kim et al, CAMUS - A Middleware Supporting Context-aware Services for Network-based Robots IEEE Workshop on Advanced Robotics and Its Social Impacts, Nagoya, Japan, 2005. * 본내용은필자의주관적인의견이며 NIPA 의공식적인입장이아님을밝힙니다. 10