유비쿼터스 & 상황인지
Saltlux
목차 |
개요
유비쿼터스 기술은 기존의 단순한 형태의 장치들이 연결된 물리적 공간을 보다 지능적이며, 적응적인 컴퓨팅 환경인 지능적 분산 환경으로 변화하는데 핵심적인 역할을 담당하는 기술입니다. 유비쿼터스 환경을 구현하기 위에서는 각 시스템들과 서비스들에 다양한 디바이스, 이동 사용자 및 빠르게 변화하는 상황인지를 지원하는 기능이 필요합니다. 가장 중요한 서비스 기술 요소로는, 유비쿼터스 환경에서 주어진 상황에 맞는 최적을 서비스를 제공하기 위해 각각의 agents가 context-aware 기술을 탑재하여 적응적으로 서비스를 변화하는 기능을 제공하는 것입니다.
이러한 context-awareness를 지원하기 위해 지능서비스 미들웨어가 많이 연구되고 있으며, 이러한 미들웨어는 단순한 형태의 초고속 인터넷 기반 공유, 주변장치 공유의 개념을 벗어나 홈네트워크 기술, 정보가전 기술, 소프트웨어 플랫폼, 솔루션 및 컨텐츠 등 다양한 IT 분야의 기술들이 통합되는 새로운 개념의 차세대 서비스 환경을 위한 context-aware 모듈 개발을 용이하게 합니다.
상황인지 (Context Awareness)
상황인지는 “상황의 변화를 감지하고 사용자에게 적합한 정보나 서비스를 제공하거나 시스템이 스스로 상태를 변경하는 것”을 말합니다. 이러한 상황의 변화를 컴퓨터가 이해하기 위해서는 우선 상황(Context)이 무엇인지를 명확하게 정의하는 것이 필요합니다.
상황(Context)
컨텍스트(Context)란 어떠한 하나의 엔티티(Entity)의 상황을 특징짓는 데 사용될 수 있는 임의의 정보를 말합니다. 가령, 자동 습도 조절장치가 있다면 현재의 습도에 의해서 습도 조절장치가 동작이 되어야 할지, 그렇지 않을지를 결정하게 되므로 습도는 하나의 컨텍스트가 됩니다. 이러한 정의에 따르면 사람, 장소, 물리적 오브젝트 등 변화를 줄 수 있는 모든 것들을 포함하게 됩니다
Context 특징
컨텍스트는 다음과 같은 특징을 가지고 있습니다.
- 컨텍스트의 source 는 다양하며, 여러 위치에 분산되어 있습니다.
- 컨텍스트는 추가적인 추상화를 필요로 한다. 예를 들면, GPS 는 위도, 경도의 정보를 제공하지만 어플리케이션은 이러한 정보를 통해 사용자가 위치하고 있는 장소(예를 들면 도로의 이름)를 필요로 합니다. 이를 위한 추상화를 필요로 합니다.
- 정보를 얻는 컴포넌트는 어플리케이션에 종속적이지 않습니다. 컴포넌트는 때때로 동시에 동작하는 여러 어플리케이션에게 정보를 제공해야 하는데 이러한 상황에서는 컴포넌트와 어플리케이션은 독립적이어야 할 필요가 있습니다.
이러한 상황정보의 가장 중요한 성격으로 Identity, Location, Status, Time을 들 수 있습니다.
- Identity : 객체에 식별자를 부여
- Location : 2차원에서의 위치 정보 및 방향과 고도, 객체간 위치 관계, 내용물을 포함
- Status (or Activity) : 객체가 가지고 있는 고유의 특성 중 센싱이 가능한 부분
- Time : 역사적 정보의 가치를 높이는 것으로 대부분의 경우 다른 상황과 접하거나 기간을 인식하는 데 사용되며, 어떤 경우에는 순서의 나열이나 인과 관계를 확인하는 것만으로도 의미가 있음.
상황정보는 상황인식 파라미터로 보통 식별하게 됩니다. 아래 표는 가정공간의 상황인식 파라미터를 식별한 내용입니다.
| 상황종류 | 파라미터 |
| 사용자 상황 | -정상 -발병, 병환 중, 장애발생, 장애 중, 사망 |
| 신원적 상황 | -ID, PW, 성명, 영문명, 별명, 주민번호, 학번, 회원번호, 사번 |
| 신체적 상황 | -맥박, 혈압, 체온, 음성, 알코올, 마약, 당뇨, 임신, 비만, 출혈 |
| 공간적 상황 | -위치, 방향, 속도, 힘, 가속도, 고도, 경사도, 수평각, 수직각 |
| 시간적 상황 | -연, 월, 일, 시, 계절, 휴일, 일일 시간표, 출장 시간표 |
| 환경적 상황 | -온도, 습도, 조도, 소음, 산소량, 오존량, LNG, SO3, NH3, CO, CH4, 자외선, 방사선, 적외선, 전자파, 초고음파 |
| 활동적 상황 | -인접, 질문, 응답, 목격, 검토, 우선순위, 대기 |
| 컴퓨팅 상황 | -전원 on/off, 수/자동, on/off-line, log-in/out -Idle/Active/Standby, Normal/Alarm/Failed, Ipv6주소 점유시간 |
| 자원적 상황 | -배터리, 디스플레이, 인터넷, 메모리(USB, RAM) OS Version |
| 가용적 상황 | -신뢰도, 가용시간, 가용성능, 안정도, 안전도, EMC/EMI |
| 접근적 상황 | -스팸 메일, 바이러스, 침입탐지, 해킹, 크래킹, 미성년 금지 -흉기, 폭발물, 폭력, 폭언 |
| 사고적 상황 | -추돌, 화재, 타박상, 찰과상, 골절상 |
| 재해적 상황 | -해일, 폭풍, 태풍, 폭우, 폭설, 혹서, 가뭄, 혹한, 지진, 화산, 혜성충돌 |
| 범죄적 상황 | -강도, 절도, 살해, 사기, 유괴, 강간, 파괴, 무단 침입, 밀매, 밀수, 마약복용, 방화, 가정폭력, 시설훼손(스크래칭), 무단 방류, 방뇨, 아동(여성, 노약자)학대 |
| 거래적 상황 | -사업자등록증, 거래번호, 세금납부번호, 공급자, 공급받는자, EPC -현금영수증 번호, 물품명, 서비스명, 단가, 수량, 금액 |
출처 : 박승창/남상엽/류영달/이기혁/김석완, “유비쿼터스 센서네트워크기술”, Jinhan M&B, 2005:129.
상황인지 모델링
상황인지 모델링은 상황 정보에 대한 높은 수준의 추상적 개념을 제공하기 위해 필요하며 센서와 엑추에이터의 추상화를 제공함으로써, 개발자가 다양한 하드웨어 장치와 인터페이스 하는 부담을 줄일 수 있습니다. 이러한 상황모델링 기법은 각 시스템에서의 상황정보 교환을 위해 사용되는 데이터 구조에 관한 스키마에 의해 분류됩니다.
키-값(Key-Value) 모델
상황정보를 모델링하기 위한 가장 간단한 데이터 구조입니다. 환경 변수로서 상황정보의 수치를 어플리케이션에게 제공하는데, 키-값 쌍의 형식을 사용하여 상황을 모델링하며 Key-Value 모델은 관리하기 쉽지만, 효과적인 상황검색 알고리즘을 위한 복잡한 구조화가 부족합니다.
마크업 스키마(Markup Scheme) 모델링 기법
속성과 내용을 갖는 마크업 태그로 구성된 계층적 데이터 구조로 마크업 태그의 내용은 항상 다른 마크업 태그에 의해 재귀적으로 정의될 수 있습니다. 이러한 종류의 상황 모델링 기법에서는 전형적으로 프로파일이 대표적입니다. 프로파일은 항상 XML과 같은 모든 마크업 언어의 슈퍼클래스인 SGML에서 유도된 직렬화에 기반합니다.
객체 지향(Object Oriented) 모델링 기법
유비쿼터스 환경에서 상황의 동적 특성에 관한 문제점들을 해결하기 위해서, 캡슐화와 재사용이라는 객체 지향의 주요 장점을 적용합니다. 상황처리에 관한 자세한 내용은 객체 수준에서 캡슐화되므로, 다른 컴포넌트들에게 은닉되고 상황정보로의 접근은 특정 인터페이스를 통해서만 제공됩니다.
논리 기반(Logic Based) 모델링
규칙을 기반으로 하여 다양한 상황에 대한 지식을 룰로 표현하고, 상황에 따른 값을 어플리케이션에 제공하는데, 규칙이 많아 질수록 관리가 어렵고 규칙간의 충돌 해소에 많은 시간과 비용이 소요됩니다.
온톨로지 기반(Ontology Based) 모델링
온톨로지는 개념과 상관 관계를 기술하는 도구로 상황정보를 표현하고 공유하기 위한 어휘 및 용어를 제공하며 상황 정보의 다양성 때문에 도메인 기반 온톨로지(domain specific ontology)를 정의하고 있습니다. 이 모델은 유비쿼터스 컴퓨팅 환경에서 상황지식의 공유와 재사용을 지원하며, 또한 계층적 상황 온톨로지 모델에서는 상위 계층의 온톨로지를 이용하여 도메인에 맞는(domain-specific) 하위 계층의 온톨로지를 생성해 낼 수 있습니다.
상황 정보 센싱
유비쿼터스 환경에서 사용자의 위치와 같은 센싱 정보는 상황인식 서비스에서 중요한 상황정보입니다. 이러한 상황정보 중 하나인 위치인식 시스템을 인식 가능 영역에 따라 다음과 같이 분류할 수 있습니다.
매크로 위치인식 시스템
가장 광범위한 위치인식 가능 영역을 제공하며, 현재 위치기반 서비스 (Location Based Service)를 위해 GPS(global Positioning System)와 이동통신망 기반 위치인식 시스템이 활용되고 있습니다.
마이크로 위치인식 시스템
무선 환경의 제한으로 매크로 위치인식 시스템이 커버하지 못하는 실내나 지하 또는 건물 밀집지역 등에서 위치인식을 제공하며, 위치인식을 위해 사용되는 매체에 따라 적외선 기반 시스템(Active Badge), 초음파 기반 시스템(Active Bat, Cricket), 무선랜 신호 기반 시스템(RADAR, 3D-iD), 영상 기반 시스템(Easy Living) 등이 있습니다.
Ad-hoc 위치인식 시스템
무선 센서 네트워크와 같이 위치인식을 위한 추가적인 하드웨어의 도입이 어려운 환경에서 위치정보를 가지는 레퍼런스 노드와의 무선 링크 연결성만으로 위치를 계산합니다. 언제, 어디에서나 그리고, 다양한 응용에 적합한 위치 정보를 수집하기 위해서는 여러 위치인식 시스템간의 통합이 요구됩니다.
상황인지 시스템 연구 현황
유비쿼터스 환경에서의 상황인지 시스템은 다음과 같은 구성과 아키텍쳐가 제시되어 왔으며, 목적에 따라 적용에 있어 장단점을 가지고 있습니다.
CoBrA
아래는 CoBrA에서 제시하는 유비쿼터스 환경에서 Context 정보의 생성/관리/배포를 위한 아키텍처입니다.
CoBrA는 다음과 같은 내용을 개발하였습니다.
• Common ontology 개발
시스템 독립적인 context 표현 온톨로지 개발을 목표로, W3C에서 추천하는 OWL로 CoBrA ontology(COBRA-ONT) 설계하였고, COBRA-ONT는 행동, 에이전트, 장치, 회의, 디지털 문서, 공간, 시간에 관한 온톨로지를 정의하고 있습니다. 또한, spatial ontology, Region connection Calculus(RCC), FIPA device ontology와 같은 기존 온톨로지를 참조하고 있습니다.
• Shared context model 개발
smart space에 존재하는 모든 device와 service 및 agent을 위한 공통 context 관리 모델 개발을 목표로 하고 있습니다. 특히 context broker agent을 구현하여, centralized context 모델 제공 및 sensor로부터 입력된 context 정보로부터 추론을 하며, context 정보에 대한 논리적인 불일치를 감지 수정합니다. context 정보에 대한 배포 및 이용에 대한 접근을 정의한 policy를 기반으로 사용자 privacy 보호를 하게 됩니다.
• Common policy language 개발
사용자 및 장치에 대한 context 정보에 접근 정책을 정의할 수 있는 language 개발을 목표로 하고 있습니다. 주로 Rei Policy Language를 확장하여 Semantic web Language로 privacy policy를 표현하고, 접근이 제한된 정보를 사용자가 추론을 통해 얻어 낼 수 있는 문제점에 대해 사용자의 정보 획득에 대한 규칙을 정의하고, 추론하여 context 배포에 반영합니다.
SOUPA(Standard Ontology for Ubiquitous and Pervasive Applications)
SOUPA 에서는 웹 중심의 Ontology Ubiquitous Home Network 측면에서 연구가 되어 왔습니다. SOUPA에서 참조되는 온톨로지로는 아래와 같은 내용이 있습니다.
- FOAF, TIME and the Entry Sub ontology of time, OpenCye Spatial Ontology&RCC, COBRA ontology&MoGATU BDI Ontology, Rei Policy
- 컨텍스트를 쉽게 이용하고 상위어플리케이션에게 하위 컨텍스트 정보들을 제공하기 위한 toolkit입니다. 이것은 하위컨텍스트들에 대한 적절한 추상화(abstraction)을 통해서 심지어 컨텍스트가 로컬(local)에 있던, 리모트(remote)있던지 상관없이 어플리케이션이 이용할 수 있는 방법을 제공합니다.
- Context Toolkit 은 크게 다음의 세 가지로 이루어져 있습니다.
Widget
컨텍스트를 사용하는 어플리케이션이 그 하단의 세부적인 내용을 알 필요가 없도록 단일화된 인터페이스로써 컨텍스트를 이용할 수 있도록 하기 위한 개체이다. 보통 하나의 컨텍스트를 래핑(Wrapping) 하고 있습니다.
Aggregator (Context Server)
기본적인 widget 들과 응용 프로그램 사이의 통로(gateway) 역할을 함으로써 어플리케이션이 두 개 이상의 여러 widget의 정보를 통합(integrate) 할 수 있도록 합니다..
Interpreter
하위 개념의 컨텍스트 정보들을 보다 상위 개념의 정보로 해석해 주는 개체입니다. 예를 들어 사용자 아이디, 위치, 소리의 크기 등의 정보들을 통해 현재 방안에서 회의가 이루어지고 있음을 유추해 낼 수 있습니다. 이러한 일은 Interpreter를 통해 이루어집니다.
SOCAM
응용 소프트웨어 개발자들이 context aware 서비스 시스템을 보다 효과적으로 개발 할 수 있는 기반 기술을 제공하고 있습니다. OWL 기반의 온톨로지를 사용하여 의미기반 context 표현, 다양한 형태의 context에 대한 추론, 지식의 공유, context의 분류와 상호 의존성과 관련된 것을 해소하고자 하는 것이 SOCAM의 개발목적입니다. 다음은 SOCAM에서 사용된 온톨로지는 CONON(Context ontology Model) 입니다.
SOCAM은 Service-Oriented Context-Aware Middleware이고, OSGi에 기반하고 있습니다.
GAIA
Illinois Urbaba-Champaign 대학에서 연구된 GAIA는 물리적 공간과, 공간 내에 있는 장치들을 programming 가능한 전자 공간으로 변환하는 기능을 수행합니다. Pervasive computing 환경에서의 여러 문제를 해결하기 위해 온톨로지가 어떻게 효과적으로 적용 가능한지를 보여주고 있습니다. 주요 연구 내용은 아래와 같습니다.
- Configuration Management
- Semantic Discovery and Matchmaking
- Improved Human Interfaces
- Improved Inter-operability between entities
- Context-Sensitive Behavior 등
GAIA 의 아키텍쳐는 아래와 같은 특징을 가집니다.
- Each device in the cluster contains the Component Management Core and Service Deployment Framework layers of Mobile Gaia
- Service interaction layer
Inter-personal space Communication
- Cluster management Service
Discovers devices in User’s vicinity.
- Negotiates with the devices to join the cluster and manages the composition of the cluster

Semantic Space
Explicit Representation, Context Querying, Context Reasoning의 세 가지 주요한 이슈들을 만족함으로써 어플리케이션이 이동하는 사용자의 급변하는 상황에 적절히 대응할 수 있도록 하는 Context Infrastructure입니다.
[Semantic Space context infrastructure]










