학습 개요
- 상황 인식 컴퓨팅 기술은 여러 센서들로부터 얻은 상황 정보를 응용 서비스에 적합하게 처리하고, 사용자의 현재 상황에 가장 적합한 서비스를 찾아내어 이를 동적으로 재구성하여 사용자에게 제공함
- 사용자에게 필요한 서비스를 주변에 편재 된 컴퓨터들이 제공해주기 위해서 사용자 및 환경에 대한 동적인 모델을 수용하고 센서를 통해 상황 정보를 인식할 수 있는 기술을 공부함
- 환경 정보를 지능적으로 판단하고, 가공한 후에 적절한 서비스로 제공해주는 과정을 이해함
- 상황을 정보로 모델링하는 상황 정보 표현 기술을 공부함
학습 목표
- 상황 정보를 수집 기술을 이용하여 상황 인식 서비스를 제공하기 위해 필요한 요소 기술에 대하여 이해함
- 상황 정보를 정의하고 이를 표현하는 다양한 방식에 대하여 배우고 익힘
강의록
상황 인식 컴퓨팅
개요
- 상황 인식 컴퓨팅(Context-Aware Computing)
- 실 세계에서 획득한 정보를 추상화하고 연계하여 상황 정보를 지식으로 만들고, 응용 분야에 적합한 지식 표현을 기반으로 사용자와 서비스를 연계하는 응용 기술임
상황 인식 컴퓨팅 정의
- 상황 인식 컴퓨팅 기술
- 사용자의 현재 위치, 시각, 주변에 있는 다른 사람이나 기기들, 사용자의 행동이나 이력 등과 같은 사용자의 현재 상황 정보를 파악하고 분석한 후, 사용자가 현 상황에서 필요로 하는 서비스를 검색하여 구동 시켜 주는 기술
- 상황 정보는 센서 네트워크 내의 수많은 센서로부터 수집 된 자료들을 분석하여 파악할 수 있음
상황의 정의
- 상황 또는 상황 정보
- 상황을 인식하는 데 필요한 기본 정보
- 사용자와 다른 사용자, 시스템 혹은 디바이스의 응용 프로그램의 상호 작용에 영향을 미치는 사람, 장소, 사물, 개체, 시간 등 주변 상황의 특징을 규정하는 정보
- 상황
- 실 세계에 존재하는 실체의 상태를 특징화하여 정의한 정보
- 상황 정보의 대상이 되는 실체
- 사람이나 사람 그룹, 물리적 사물이나 고려 대상인 시스템 등
- 상황/실체의 정의는 개발 과정에서 응용 서비스 시나리오를 위한 상황 전개 작업을 쉽게 함
- 상황의 정의
- 만약 어느 정보가 상호 작용하는 참여자의 상황을 특징 지을 수 있다면, 그 정보는 바로 상황이 됨
- 에이전트 관점에서는 감지기를 통하여 수집할 수 있는 모든 정보가 대상이 될 수 있음
- 상황에는 사용자, 물리적 환경, 컴퓨팅 시스템 상황, 사용자 컴퓨터 상호 작용 이력 등의 정보 등이 포함될 수 있음
- 슐리트(B.N.Schilit)의 정의
- 컴퓨팅 상황
- Computing Context
- 네트워크 연결성/통신 비용/통신 대역폭/프린터/디스플레이 등 주변에 존재하는 자원
- 사용자 상황
- User Context
- 사용자 프로필/위치/현재의 사회적 상황을 포함한 사용자 정보
- 물리적 상황
- 조명/소음 수준/교통 상황/온도 등
- 컴퓨팅 상황
- 그 외에 시간적 상황을 고려하기도 함
- 시간적 상황
- 시간/요일/월·일/계절 등
- 시간적 상황
상황의 분류
- 상황의 사례를 분류하는 방법
- 퍼코프(Perkop)와 버네트(Burnett)에 의한 외부적(external)범위와 내부적(internal) 범위로 구분한 방식
- 호퍼(Hofer)의 물리적(physical) · 논리적(logical) 상황으로 구분한 방식
- 외부적 상황의 범위
- 위치, 빛, 소리, 움직임, 촉감, 온도나 공기 압력 등 과 같이 흔히 하드웨어 센서로 측정 가능한 상황을 나타냄
- 내부적 상황 정보
- 사용자의 목표, 업무, 업무 상황, 비즈니스 처리, 사용자의 감정 상태와 같이 사용자에 의해 주어지거나 사용자의 상호 작용을 관찰함으로써 얻어지는 것들임
상황 인식 시스템
- 상황 인식 시스템
- 최근 상황 인식 컴퓨팅에서 사용자의 동작이나 작업과 관련 있는 적절한 정보 또는 서비스를 사용자에게 제공하는 과정에서 상황을 사용하는 시스템
상황 인식 시스템 구성 요소
- 상황 인식 시스템은 클라이언트 기기, 상황 인식 시스템 아키텍처, 상황 인식 모델로 구성 됨
- 클라이언트 기기
- 각종 센서, 스마트폰 등의 유비쿼터스 단말기
- 사용자에게 제공 되는 서비스 종류 및 사용 방식을 결정하는데 중요한 요소로 작용 함
- 상황 인식 시스템 아키텍처
- 직접적인 센서 활용 방식
- 미들웨어 인프라 구조를 이용한 방식
- 상황 서버를 기반으로 한 방식
- 상황 인식 모델
- 상황 데이터를 기계가 처리할 수 있는 형태로 정의하고 저장하기 위한 것임
상황 인식 컴퓨팅에서 사용될 수 있는 상황 정보
- 상황 정보의 분류
- 사용자
- 물리적 환경
- 컴퓨팅 시스템
- 사용자 - 컴퓨터 상호 작용 이력
- 기타 미 분류 상황
상황 인식 기술 전반에 대한 개념적인 시스템 구성
- 사용자
- 신원(ID, 성명)
- 신체(맥박, 혈압, 체온, 음성)
- 물리적 환경
- 공간(위치, 방향, 속도)
- 시간(일자, 시각, 계절)
- 환경(온도, 습도, 조도, 소음)
- 활동(인적인, 행동, 일정)
- 컴퓨팅 시스템
- 가용 자원(배터리, 디스플레이, 인터넷, 시스템)
- 가용 상황(자원, 장비, 시설)
- 접근 상황(사용자, 허용 정보, 인접성)
- 사용자-컴퓨터 상호 작용 이력
- 이력(사용자, 서비스, 시간)
- 장애(시간-사용자-서비스)
- 기타 미분류 상황
- 사용자
상황 인식 기술의 응용
상황 인식 응용이 지원할 수 있는 특징
- 사용자에게 정보와 서비스 제공(presentation)
- 사용자를 위한 서비스의 자동 실행(execution)
- 이후 검색을 위한 상황 정보의 표시(tagging)
- 응용 개발 과정에서 설계로부터 실제 구현을 위한 두 가지 접근 방법
- 설계자가 구조적인 서비스 또는 특징을 조합하여 응용을 구축하는 방법
- 설계자가 대상이 되는 응용을 좀 더 높은 차원에서 생각할 수 있도록 추상화 하는 방법
- 상황 인식 기술의 실제 구현을 지원하는 상황 인식 응용 개발 도구 기술
- 상황 정보의 획득과 접근
- 상황 인식 응용에 독립적인 상황 인식 정보의 저장
- 배포 및 실행
- 상황 인식 기술의 실제 구현을 지원하는 기술 요소
- 상황 정보의 추상화를 위한 기술
- 상황 정보를 해석하는 기술
- 유사한 상황 정보를 수집하는 기술
상황 인식 서비스 요소 기술
개요
- 초기의 상황 인식 서비스 연구
- 다양한 상황 정보와 수집 기술을 조합하여 특정 플랫폼만을 위한 개별적인 프로토 타입 형태의 응용을 주로 연구함
- 초기 상황 인식 시스템은 특정 플랫폼에만 연관되어 있어 확장을 위해서는 많은 사전 지식이 필요하였음
- 공통 된 기능에 대한 모듈화가 되어 있지 않아 재사용이 어려움
- 이러한 문제점을 인식하여 상황 인식 서비스 인프라와 관련 된 연구가 활발히 진행되었음
- 상황 인식 응용 개발에 필요한 공통 기능을 응용 레벨에서 분리하여 미들웨어 형태로 개발자에게 제공하는 방안이 연구 됨
- 상황 인식 서비스 인프라는 개발자에게는 응용과 관계 된 기능에만 집중할 수 있도록 하고, 사용자에게는 일반화 된 응용 서비스를 제공함
- 상황 인식 서비스 인프라에 대한 요구 사항
- 기능적 요구 사항
- 상황 정보 수집, 저장 및 관리, 신청 및 배달, 분해 및 융합 등이 포함 됨
- 기능 외적인 요구 사항
- 확장성, 모듈성, 보안성, 이동성, 인터페이스 적절성, 결함 포용성, 서비스 품질, 플랫폼 간 호환성 등이 있음
- 기능적 요구 사항
- 상황 인식 서비스 요소 기술
- 상황 정보 수집 기술
- 상황 정보 모델링 기술
- 상황 정보 추론 기술
- 상황 정보 관리 기술
- 상황 정보 교환 기술
상황 정보 수집 기술
- 상황 인식 컴퓨팅에서 가장 기본이 되는 상황 정보를 얻기 위해서는 상황 정보 수집(sensing) 기술이 필요함
- 상황 정보는 사용자 인터페이스, 다양한 센서, 센서 네트워크 등을 통해 수집 됨
- 사용자는 키패드나 터치 스크린 등과 같은 사용자 인터페이스를 이용하여 자신의 기본적인 개인 정보나 개인 일정 등과 같은 정적인 상황 정보를 입력함
- 온도, 습도와 같은 환경 상황 정보와 체온, 혈압 등 사용자와 관련 된 정보들은 단말에 부착 된 센서를 통해 직접 수집할 수도 있고, 사용자 주변의 센서 네트워크 또는 상위 계층 네트워크와 통신을 통해 수집할 수도 있음
- 이렇게 수집 된 상황 정보는 상황 정보 모델에 따라 내부에 저장 된 후 향후 추론을 위한 기초 자료로 활용 됨
- 다수의 상황 정보는 시간이 지남에 따라 변화할 수 있음
- 각각의 상황 정보는 서로 다른 특성을 가지므로 변화 되는 주기도 다양함
- 예를 들어 사용자의 프로파일 정보는 거의 변화하지 않지만, 사용자의 위치 정보는 사용자가 이동함에 따라 수시로 변화함
- 상황 정보가 변화되었다는 사실은 주기적인 폴링(polling)이나 전파(broadcasting) 기법에 의해 파악할 수 있음
- 수집 된 값이 특정 조건을 만족할 때에만 보고 받는 형태의 정보 수집도 가능함
- 사람이나 사물 등과 같은 객체의 식별 정보도 위치 정보와 마찬가지로 상황 인식 서비스를 위해 기본적으로 요구 되는 상황 정보임
- 객체 식별을 위해서는 RFID 기술이 주목 받고 있음
- 다양한 방식에 의해 상황 정보 수집
- 시간 정보
- 내장 된 시계를 통해서
- 인접 객체에 대한 정보
- 위치 서버를 통해서
- 대역폭
- 커널 모듈에서 제공하는 API를 통해
- 조명의 밝기
- 감광성 반도체 소재를 통해서
- 가속도와 진동
- 가속도계 통해서
- 인접 객체 감지
- 수동형 적외선 센서를 통해서
- 소리
- 마이크로 폰을 통해서
- 기후 정보
- 온도계나 습도계를 통해서
- 시간 정보
상황 정보 모델링 기술
- 센서가 측정한 아날로그 정보 → 디지털 정보로 변환 → 센서 네트워크를 통한 전송 → 센서 네트워크 미들웨어 등을 통해 저장 되고 추론에 활용 됨
- 사용자에게 유용한 서비스를 제공하기 위해서는 수집 되고 저장 된 정보를 사용자의 여러 정보와 결합하여 고 차원의 상황 정보로 분석하고 추론할 수 있어야 함
- 상황 정보 및 사용자 정보 중에서 서비스를 제공하는 데 필수적인 정보만을 얻기 위해서는 먼저 잘 작성 된 모델을 바탕으로 정보들을 정형화하여 저장한 후, 체계적이고 효율적으로 공유할 수 있어야 함
- 상황 정보를 기계가 처리할 수 있는 형태로 정의하고 저장하기 위해서는 표준화 된 모델링 기술이 필요함
- 상황 정보의 표현 방식 및 교환 되는 데이터 구조를 기반으로 정보를 표현하는 방법의 분류
- 키 값(Key-value) 기반 모델
- 마크업 기반 모델
- 그래픽 기반 모델
- 객체 지향 기반 모델
- 로직 기반 모델
- 온톨로지 기반 모델
- 하나의 상황
- 타입 + 수집한 값
- 부수적으로 상황 데이터가 수집 된 시간, 정보 획득 대상, 데이터의 확신성 등을 적용하여, 상황 인식 시스템을 가동하면 더욱 유용해질 수 있음
상황 정보 모델링 기술 - 키-값 기반 모델
- 셸 변수 등의 표현 방법으로도 많이 사용 되고 있는 가장 간단한 형태의 모델링 방식으로 정보를 나타내고 다루기 쉬움
- 텍스트 형식으로 표현 된 값에 패턴 매칭 등의 방식으로 질의 처리는 할 수 있지만, 정형화 된 형식이 있어야 하는 효율적인 정보 검색에는 부적합함
- 많은 상황 인식 시스템의 서비스 발견 프로토콜은 대부분 키 값으로 저장된 정보에 대하여 단순히 문자 비교 방식으로 필요한 서비스를 찾음
- 현재 개발 된 일부 상황 인식 시스템은 이 모델을 이용하여 사용자, 위치, 주변의 정보, 컴퓨터 장치 시간 등의 동적인 상황 정보를 나타냄
상황 정보 모델링 기술 - 마크업 기반 모델
- 태그, 속성, 내용을 계층 구조의 재귀적 형태로 상황 정보를 표현함
- 간단하고 유연하며 구조화 되어 있음
- 편재 되어 있는 컴퓨팅에 적합함
- 응용 프로그램 수준에서 계층적으로 구조화 된 정보를 해석해야 함
- 정보 간의 복잡한 관계를 정의하기 힘든 단점이 있음
상황 정보 모델링 기술 - 온톨로지 기반 모델
- 정보를 구조화하는 데 효과적이며 상호 관계성 및 부분적인 상황 정보를 쉽게 표현함
- 다양한 상황 인식 프레임 워크는 주로 온톨로지 기반 모델을 채택하고 있음
- 온톨로지 작성을 지원하는 도구들과 자원 기술 프레임워크(RDF), 온톨로지 웹 언어(OWL) 등을 이용하여 상황 정보를 선언함
자원 기술 프레임워크(RDF)
1 2 3 4 5 6 7 8 9 10
<?xml version="1.0" encoding="UTF-8"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:feature="http://www.linkeddatatools.com/clothing-features#"> <rdf:Description rdf:about="http://www.linkeddatatools.com/clothes#t-shirt"> <feature:color rdf:resource="http://www.linkeddatatools.com/colors#white"/> </rdf:Description> </rdf:RDF>
상황 정보 추론 기술
- 수집 된 여러 데이터를 분석하여 상위 상황 정보를 도출하려면 확률적인 메커니즘도 제공되어야 함
- 계층적 상황 정보를 기반으로 지능적인 추론 방법도 제공되어야 함
- 온톨로지를 이용한 모델이 상황 지식의 공유 가능, 재사용 지원, 높은 추론 기능을 제공할 수 있음
- 이와 관련 된 추론 시스템 연구가 활발하게 연구되고 있음
상황 정보 교환 기술
- 센서나 장치, 대상 객체와의 상호 작용을 지원하기 위해 이벤트 기반 또는 폴링 기반의 통신 메커니즘을 제공해야 함
- SOAP(Simple Object Access Protocol)은 분산 환경에서 데이터를 교환하기 위한 XML 기반 프로토콜임
- SOAL은 표준 인코딩 모델을 가지고 있으므로 서로 다른 시스템 간에도 호환성을 제공함
상황 정보 관리 기술
- 상황 정보 관리에서 가장 중요한 이슈는 응용이 필요한 상황 정보를 기능적으로 조합하여 효율적으로 제공하는 것임
- 상황 정보 툴킷
- 서버와 해석기로 구성 됨
- 서버
- 상황 정보 위젯으로부터 필요한 다양한 상황 정보를 취합함
- 해석기
- 상황을 다른 형태나 의미로 변환하여 상위 레벨의 응용에 제공함
- 상황 정보 위젯, 서버, 해석기가 외부 제약 없이 언제나 효율적으로 센서와 응용 서비스를 지원하기 위하여 각 컴포넌트는 서로에 대한 완벽한 추상화를 제공해야 함
- 상황 정보의 조합 문제를 응용과 독립적으로 설계할 수 있으며, 이를 통해 센서나 응용 서비스의 추가 및 제거가 발생하더라도 부가적인 조정을 하지 않아도 됨
상황 정보의 정의 및 표현
개요
- 초기의 유비쿼터스 컴퓨팅 응용은 단순히 센서가 수집한 데이터만 이용하였음
- 다양한 형태의 센싱 정보가 아니라 한 종류의 데이터만 가지게 됨
- 센서 관련 기술이 발전되어 센서의 단가가 낮아지고 다양한 기능을 가진 센서가 등장함
- 상황 인식 미들웨어도 여러 종류의 센서로부터 다양한 데이터를 수신할 수 있게 되었음
- 다양해진 데이터를 정의하고 표현할 방법이 필요하게 됨
- 상황 정보의 정의는 사용자에게 좀 더 정확하게 제공하는 데 필요함
- 수집 된 상황 정보가 한 개인에게 국한 된 것이 아니므로 상황 정보를 일반적으로 표현하여 다수의 사용자에게 공통적인 정보로 제공하는데 필요함
시맨틱 웹
- 시맨틱 웹
- 컴퓨터가 정보의 의미를 이해하고 의미를 조작할 수 있는 웹 형태의 정보 표현
- 시맨틱 웹은 웹을 통해 동일한 개념으로 다양한 정보를 보다 효과적으로 활용할 수 있게 함
- 월드 와이드 웹
- 단순한 문서의 의미 내용도 컴퓨터가 알지 못하는 수준
- 시맨틱 웹
- 정보와 지식을 처리할 수 있는 웹의 환경
- 시맨틱 웹 환경에서 지식을 표현하기 위한 언어는 자원 기술 프레임워크, 온톨로지 추론 계층, DARPA 에이전트 마크업 언어 등이 있음
정리 하기
- 상황 인식 컴퓨팅은 현실 공간과 가상 공간을 연결하여 가상 공간에서의 현실의 상황을 정보화하고 이를 활용하여 사용자 중심의 지능화 된 서비스를 제공하는 기술임
- 상황 인식 서비스를 위해서는 상황 정보 수집 기술, 모델링 기술, 추론 기술과 같은 주요 요소 기술을 필요로 함
연습 문제
상황의 분류에 포함되지 않는 것은 무엇인가?
a. 지식적 상황
- 상황의 분류에 포함 되는 것
- 컴퓨팅 상황
- 사용자 상황
- 물리적 상황
- 상황의 분류에 포함 되는 것
상황(또는 상황 정보, Context)의 정의에 포함되지 않는 것은 무엇인가?
a. 사용자의 주변을 구성하는 가상화 된 자원 정보
- 상황(또는 상황 정보, Context)의 정의에 포함되는 것
- 상황 인식을 하기 위해 필요한 기본 정보
- 실 세계에 존재하는 실체의 상태를 특징화하여 정의한 정보
- 사용자의 상황을 특징 지을 수 있는 정보
- 상황(또는 상황 정보, Context)의 정의에 포함되는 것
상황 인식 서비스 요소 기술이 아닌 것은 무엇인가?
a. 상황 정보 연계 기술
- 상황 인식 서비스 요소 기술
- 상황 정보 모델링 기술
- 상황 정보 추론 기술
- 상황 정보 관리 기술
- 상황 인식 서비스 요소 기술
정리 하기
- 상황 인식 컴퓨팅(Context-Aware Computing)
- 실 세계에서 획득한 상황 정보를 추상화하고 연계하여 상황 정보를 지식으로 만들고, 응용 분야에 적합한 지식 표현을 기반으로 사용자와 서비스를 연계하는 응용 기술
- 상황 인식 기술의 효율적인 이용을 위한 요구 사항
- 상황에 대한 이해
- 상황 정보의 선택/활용 방법/상황 인식 행위의 결정을 지원해줌
- 상황과 관련된 기술 구조에 대한 이해
- 응용 서비스의 구축을 지원해줌
- 상황에 대한 이해
- 상황(또는 상황 정보, Context)의 정의
- 상황 인식을 하기 위해 필요한 기본 정보
- 실 세계에 존재하는 실체의 상태를 특징화하여 정의한 정보
- 사용자의 상황을 특징 지을 수 있는 정보
- 상황의 분류
- 컴퓨팅 상황(Computing Context)
- 사용자 상황(User Context)
- 물리적 상황(Physical Context)
- 상황 인식 시스템의 구성
- 클라이언트 기기
- 상황 인식 시스템
- 상황 인식 모델
- 상황 인식 응용 개발 도구 기술
- 상황 정보의 추상화(Abstraction) 기술
- 상황 정보의 해석(Interpretation) 기술
- 유사한 상황 정보의 수집(Aggregation)기술
- 상황 인식 서비스 요소 기술
- 상황 정보 수집 기술
- 상황 정보 모델링 기술
- 상황 정보 추론 기술
- 상황 정보 관리 기술