KR100904147B1 - 상황인지 지식서비스를 위한 쿼리 관리 장치 및 그 방법 - Google Patents

상황인지 지식서비스를 위한 쿼리 관리 장치 및 그 방법 Download PDF

Info

Publication number
KR100904147B1
KR100904147B1 KR1020070119712A KR20070119712A KR100904147B1 KR 100904147 B1 KR100904147 B1 KR 100904147B1 KR 1020070119712 A KR1020070119712 A KR 1020070119712A KR 20070119712 A KR20070119712 A KR 20070119712A KR 100904147 B1 KR100904147 B1 KR 100904147B1
Authority
KR
South Korea
Prior art keywords
query
service
data
information
user
Prior art date
Application number
KR1020070119712A
Other languages
English (en)
Other versions
KR20090053069A (ko
Inventor
송오영
박세현
김원우
한윤택
엄윤식
황지온
김여진
Original Assignee
주식회사 케이티
중앙대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 케이티, 중앙대학교 산학협력단 filed Critical 주식회사 케이티
Priority to KR1020070119712A priority Critical patent/KR100904147B1/ko
Publication of KR20090053069A publication Critical patent/KR20090053069A/ko
Application granted granted Critical
Publication of KR100904147B1 publication Critical patent/KR100904147B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes

Abstract

본 발명은 상황인지(Context-Aware) 지식서비스를 위한 서비스 제어 장치 및 그 방법에 관한 것으로, 유비쿼터스 환경에 기반한 홈네트워크 서비스에서 사용자에게 상황 적응적 맞춤형 서비스를 제공하기 위해, 다양한 사용자 정보 및 서비스 정보를 얻기 위한 쿼리(Query)를 생성하고 쿼리의 종류에 따라 적절한 형태로 변환하여 추론엔진으로 전송하는 쿼리 관리 장치 및 그 방법을 실현하고자 한다.
이를 위하여, 본 발명은 쿼리 관리 장치의 쿼리 관리 방법에 있어서, 지능형 서비스에서 요구되는 다양한 정보들을 수집하기 위한 쿼리의 포맷을 저장하고 있는 단계; 서비스 및 정보 요청 모듈로부터 입력된 데이터를 「쿼리를 이용한 지식기반 추론을 위해 지식 레퍼지토리의 온톨로지에 접근하려는 쿼리 데이터」와 「상기 지식 레퍼지토리의 데이터베이스로 접근하려는 일반 데이터」로 분류하고, 상기 쿼리 데이터에 대해서는 쿼리의 종류에 따라 재분류하는 단계; 쿼리 종류에 따라 재분류된 쿼리 데이터에 대하여 해당 데이터에 맞는 쿼리 포맷을 선택하여 쿼리를 생성하는 단계; 상기 생성된 쿼리를 이용해 상기 지식 레퍼지토리의 온톨로지에 접근하여, 서비스에서 요구되는 정보들을 질의하고 그 응답으로서 출력 데이터를 반환받는 단계; 및 상기 출력 데이터를 외부에서 이용 가능하도록 분류하여 상기 서비스 및 정보 요청 모듈로 전송하는 단계를 포함한다.
상황인지, 지식서비스, 쿼리 매니저, 정책, 온톨로지

Description

상황인지 지식서비스를 위한 쿼리 관리 장치 및 그 방법{Query management apparatus and method for context-aware knowledge service}
본 발명은 상황인지(Context-Aware) 지식서비스를 위한 서비스 제어 장치 및 그 방법에 관한 것으로, 더욱 상세하게는 유비쿼터스 환경에 기반한 홈네트워크 서비스에서 사용자에게 상황 적응적 맞춤형 서비스를 제공하기 위해, 다양한 사용자 정보 및 서비스 정보를 얻기 위한 쿼리(Query)를 생성하고 쿼리의 종류에 따라 적절한 형태로 변환하여 추론엔진으로 전송하는 쿼리 관리 장치 및 그 방법에 관한 것이다.
향후 유비쿼터스 시대의 응용 및 서비스는 컴퓨팅 및 커뮤니케이션 능력을 가진 스마트 객체들이 동적인 환경 변화를 인식하고 이에 적응할 수 있는 특성, 즉 상황인지(Context-Aware) 특성을 갖게 될 것이다. 상황정보(Context)는 사용자가 상호 작용을 하는 시점에 가용한 거의 모든 정보이다. 또한, 상황정보는 응용 운용 환경의 일부로 응용이 감지할 수 있는 정보를 포함한다. 이는 일반적으로 사람, 그룹, 객체의 위치, 식별, 활동, 상태 등을 포함한다. 상황인지 서비스는 이러한 상황정보의 수집 및 교환을 통해 인식하고, 해석 및 추론과 같은 처리 과정을 거쳐 사용자에게 상황에 적절한 서비스를 제공한다.
유비쿼터스 환경에서의 상황인지 서비스는 전체 유비쿼터스 서비스 집합 중에서 가장 크고 중요한 부분 집합을 차지하게 될 것이다. 또한, 상황인지 서비스는 가정, 의료, 교육, 재난ㆍ구호, 쇼핑 등 사회 전분야에 걸쳐 응용될 수 있어 사회 전반에 걸쳐 많은 영향을 줄 것이다.
특히, 유비쿼터스 환경에서의 고도화된 사용자 맞춤형 서비스 제공을 위해서는, 지능적이며 다양한 상황에 적응적인 컴퓨팅 기술이 필요하다. 또한, 다양한 장치들이 서로 정보를 교환, 공유할 수 있어야 하며, 사용자에게 최적의 서비스를 제공하기 위해 물리적 공간, 시간, 네트워크 환경, 각종 장치들을 유기적으로 결합하여 서비스를 제공하기 위한 상황인지(Context-Aware) 기술이 있어야 한다.
유비쿼터스 환경에서는 사용자의 이동이 세부적으로 고려되며, 사용자가 요구하는 서비스를 지능적으로 필요한 상황에서 알맞게 제공해야 한다. 이를 위해서는 사용자의 이동에 대해 인식하고 사용자 및 환경, 서비스 정보를 정책적으로 관리하는 것이 필요하다. 사용자가 요구하는 서비스가 증가할수록, 공간의 확대로 인해 다중 사용자 간의 공간 내에서의 서비스 충돌 및 보안 등의 문제점들이 증가된다. 이를 해결하기 위해서는 이러한 서비스 및 사용자와 공간에 대한 정책을 정의 함으로써 충돌에 대한 해결 및 서비스의 보안적 제공을 가능하도록 구성해야 한다.
그런데, 홈네트워크에서 사용자 프로파일 및 서비스 관련 정보들을 기반으로 사용자 맞춤형 서비스를 위해서는, 상황정보(Context) 혹은 명령(Command)에 대한 적절한 서비스 제공 정보를 도출하기 위한 쿼리(Query)를 생성해야 한다.
하지만, 종래에는 추론엔진(Reasoning Engine)에서 온톨로지(Ontology)로 쿼리를 보내기 위해 각각의 서비스별로 적합한 쿼리를 직접 생성하고 전송하는 역할을 하였다. 하지만, 이 경우 추론엔진의 시스템 부하를 가중시키게 된다.
이에, 본 발명에서는 쿼리 매니저(Query Manager)를 별도로 둠으로써 각각의 서비스에 맞도록 분석하고, 알맞은 쿼리를 자동으로 생성함으로써 홈네트워크 맞춤형 서비스 제작의 편의성을 향상시키고자 한다. 이러한 쿼리 매니저는 다양한 쿼리들을 체계적으로 관리하게 되며, 추론엔진에서의 시스템 부하를 분산시켜 효율적인 시스템 동작을 가능하게 한다. 또한, 서비스 확장성을 증대시킴으로써 다른 서비스 번들과의 연동 또한 쉽게 가능하도록 한다. 또한, 쿼리 매니저는 입력에 따라 멀티 쓰레드 처리를 통해 처리 속도를 향상시키며, 결과의 선택적 전송이 가능하도록 한다.
외부 입력에 따라 필요한 팩트(Fact) 및 데이터(Data)를 수집하고 시스템 구현에 필요한 쿼리의 생성과 각 상황에 적합한 쿼리의 스케쥴링을 통해 알맞은 정보를 추출하기 위한 쿼리를 생성하여 그에 대한 결과를 도출하도록 한다. 이때, 쿼리 생성시에는 쿼리 포맷을 이용하여 쿼리를 생성한다.
따라서, 본 발명은 유비쿼터스 환경에 기반한 홈네트워크 서비스에서 사용자에게 상황 적응적 맞춤형 서비스를 제공하기 위해, 다양한 사용자 정보 및 서비스 정보를 얻기 위한 쿼리(Query)를 생성하고 쿼리의 종류에 따라 적절한 형태로 변환하여 추론엔진으로 전송하는 쿼리 관리 장치 및 그 방법을 제공하는데 그 목적이 있다.
본 발명의 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있으며, 본 발명의 실시예에 의해 보다 분명하게 알게 될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.
상기 목적을 달성하기 위한 본 발명은, 상황인지 지식서비스 시스템의 쿼리 관리 장치에 있어서, 입력 데이터를 분류 및 분석하여 상기 입력 데이터가「쿼리를 이용한 지식기반 추론을 위해 지식레퍼지토리의 온톨로지에 접근하려는 쿼리 데이터」이면 쿼리 분석 수단으로 전달하고 상기 입력 데이터가「상기 지식레퍼지토리의 데이터베이스로 접근하려는 일반 데이터」이면 상황정보 관리 수단으로 전달하며, 출력 데이터를 전송할 모듈에 맞는 포맷으로 변환하여 전송하는 데이터 인터페이싱 수단; 상기 데이터 인터페이싱 수단에서 전송된 쿼리 데이터를 쿼리의 종류에 따라 분류하고, 쿼리를 이용하여 응답받은 상기 출력 데이터를 외부에서 이용 가능하도록 분류하기 위한 상기 쿼리 분석 수단; 쿼리의 종류별로 쿼리 포맷을 저장하고 있어, 상기 쿼리 분석수단에 의해 분류된 데이터에 맞는 쿼리 포맷을 선택하여 쿼리를 생성하기 위한 쿼리 생성 수단; 및 상기 생성된 쿼리를 바탕으로 상기 지식 레퍼지토리의 온톨로지에 접근하여 서비스에서 요구되는 정보들을 질의하고 그 응답으로서 상기 출력 데이터를 반환받거나, 상기 데이터 인터페이싱 수단에서 전송된 일반 데이터를 바탕으로 상기 지식 레퍼지토리의 데이터베이스에 접근하여 응답 데이터를 반환받기 위한 상기 상황정보 관리 수단을 포함하는 것을 특징으로 한다.
한편, 본 발명은, 쿼리 관리 장치의 쿼리 관리 방법에 있어서, 지능형 서비스에서 요구되는 다양한 정보들을 수집하기 위한 쿼리의 포맷을 저장하고 있는 단계; 서비스 및 정보 요청 모듈로부터 입력된 데이터를 「쿼리를 이용한 지식기반 추론을 위해 지식 레퍼지토리의 온톨로지에 접근하려는 쿼리 데이터」와 「상기 지식 레퍼지토리의 데이터베이스로 접근하려는 일반 데이터」로 분류하고, 상기 쿼리 데이터에 대해서는 쿼리의 종류에 따라 재분류하는 단계; 쿼리 종류에 따라 재분류된 쿼리 데이터에 대하여 해당 데이터에 맞는 쿼리 포맷을 선택하여 쿼리를 생성하는 단계; 상기 생성된 쿼리를 이용해 상기 지식 레퍼지토리의 온톨로지에 접근하여, 서비스에서 요구되는 정보들을 질의하고 그 응답으로서 출력 데이터를 반환받는 단계; 및 상기 출력 데이터를 외부에서 이용 가능하도록 분류하여 상기 서비스 및 정보 요청 모듈로 전송하는 단계를 포함하는 것을 특징으로 한다.
또한, 본 발명은, 상기 서비스 및 정보 요청 모듈로부터 입력된 데이터가 데이터베이스 접근용 일반 데이터인 경우, 쿼리의 생성없이, 상기 지식 레퍼지토리의 데이터베이스에 접근하여 그 응답으로서 출력 데이터를 반환받아, 상기 서비스 및 정보 요청 모듈로 전송하는 단계를 더 포함하는 것을 특징으로 한다.
삭제
상기와 같은 본 발명은, 각 서비스에 맞도록 분석하고 알맞은 쿼리를 자동으로 생성함으로써 홈네트워크 맞춤형 서비스 제작의 편의성을 향상시킬 수 있고, 쿼리 매니저를 통해 다양한 쿼리들을 체계적으로 관리하며, 추론엔진의 시스템 부하를 분산시켜 효율적인 시스템 동작을 가능하게 하는 효과가 있다.
또한, 본 발명은, 서비스 확장성을 증대시킴으로써 다른 서비스 번들과의 연 동 또한 쉽게 가능하고, 또한 입력에 따라 멀티 쓰레드 처리를 통해 처리 속도를 향상시키며, 결과의 선택적 전송이 가능한 이점이 있다.
상술한 목적, 특징 및 장점은 첨부된 도면을 참조하여 상세하게 후술되어 있는 상세한 설명을 통하여 보다 명확해 질 것이며, 그에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하기로 한다.
유비쿼터스 환경에서 고도화된 사용자 맞춤형 서비스 제공을 위해서는, 지능적이며 다양한 상황에 적응적인 컴퓨팅 기술이 필요하다. 또한, 다양한 장치들이 서로 정보를 교환, 공유할 수 있어야 하며, 사용자에게 최적의 서비스를 제공하기 위해 물리적 공간, 시간, 네트워크 환경, 각종 장치들을 유기적으로 결합하여 서비스를 제공하기 위한 상황인지 기술이 있어야 한다.
상황인지(Context-Aware) 지식서비스 시스템은, 다음과 같은 기능들을 제공하는 OSGi(Open Service Gateway Initiative) 기반의 미들웨어 번들(Middleware Bundle)[즉, 쿼리 매니저(Query Manager), 추론엔진(Reasoning Engine), 인터페이스 제어기(Interface Controller), 서비스 제어기(Service Controller), 세션 매니 저(Session Manager), 상황정보 매니저(Context Manager) 등]을 통해 이러한 지식서비스를 가능하게 한다.
상황인지 지식서비스 시스템은, 실시간 정보 및 집안의 각종 센서로부터 수집된 상황정보(Context)를 요약, 분석, 처리, 가공하여 다양한 입출력 방법으로 정보를 제공하고, 기기들을 제어할 수 있다[정보 처리 및 입출력 제어 기능].
또한, 상황인지 지식서비스 시스템은, 상황정보(센서로부터 입력된 사용자의 위치 정보, 댁내의 온습도, 조도 등의 환경정보, 사용자 스케쥴 등의 사용자 프로파일 정보)에 따라 적절한 서비스를 추론하기 위한 쿼리(Query)를 생성한다[쿼리 포맷팅(Query Formatting) 기능].
또한, 상황인지 지식서비스 시스템은, 사용자 이동 및 서비스 변화시 서비스 상태를 저장하여 끊김없는(Seamless) 서비스 제공을 가능케 한다[서비스 관리 기능].
또한, 상황인지 지식서비스 시스템은, 사용자 프로파일 및 상황정보의 관계성을 통해 유기적인 데이터 구축 및 관리를 가능하게 한다[객체 지향 데이터베이스인 온톨로지(Ontology) 기능].
상황인지 지식서비스 시스템의 미들웨어 구성은 도 1과 같다.
도 1에 도시된 바와 같이, 본 발명이 적용되는 상황인지 지식서비스 시스템은 OSGi 표준을 따르는 서비스 플랫폼을 기반으로 하는 번들(Bundle) 형태로 구성된다.
OSGi 프레임워크(Framework)는 자바가상머신(JVM) 상에서 실행되기 때문에 이식성, 확장성이 뛰어나 하드웨어(H/W), 운영체제(OS)의 종류에 상관없이 JVM이 설치된 대부분의 시스템에서 사용 가능하고, 멀티 쓰레드 기법을 제공하며, 손쉽게 번들의 설치 및 업데이트 등을 관리할 수 있는 인터페이스(Interface)를 제공한다. 이러한 OSGi 프레임워크 상에 상황인지 지식서비스 시스템을 구성하는 미들웨어 번들[추론엔진(Reasoning Engine), 인터페이스 제어기(Interface Controller), 세션 매니저(Session Manager), 쿼리 매니저(Qeury Manager), 상황정보 매니저(Context Manager), 서비스 제어기(Service Controller)]이 실행되고, 번들(Bundle)은 멀티모달 인터페이스(MMI : Multi-Modal interface)를 통해 각종 지식서비스 제공을 가능하게 한다.
그럼, 본 발명이 적용되는 상황인지 지식서비스 시스템의 특징에 대해 살펴보면 다음과 같다.
상황인지 지식서비스 시스템[OSGi 기반 시스템 아키텍쳐]은 OSGi 기반 서비스 플랫폼을 이용한 번들 형태의 미들웨어 개발로, OSGi를 기반으로 하는 타 서비스 및 미들웨어와 쉽게 연동 가능하며, 미들웨어를 사용한 서비스의 분배 및 관리가 용이하다. 또한, 각각의 번들별로 독립적인 구성이 가능하여 번들의 재활용성이 뛰어나다. 이러한 특징을 이용하여 다양한 유비쿼터스 환경 지원 지식 정보 서비스 기술에 활용할 수 있으며, 특히 텔레매틱스 서비스 번들과 연동하여 자동차의 네비게이션을 통한 정보의 제공 및 차량 상태 점검 서비스 등에도 활용 가능하다.
또한, 상황인지 지식서비스 시스템[의미기반 상황정보 표현 기술(Ontology)]은 의미/지식 기반 표현 체계인 온톨로지(Ontology)를 사용하여 의미 모호성 없이 상황정보(Physical, Environmental, Informational, Social, Application, System)를 표현, 교환, 관리할 수 있으며, 온톨로지에 기반한 상황인지(Context-Awareness)를 위해 시멘틱 웹(Semantic Web) 표준 체계인 웹 온톨로지 언어(OWL) 및 자원 기술 프레임워크(RDF)를 사용하고 있을 뿐만 아니라, 대량의 상황정보(Context)를 미들웨어 차원에서 효과적으로 처리하기 위하여, 온톨로지에 기반한 상황정보의 추론(Reasoning) 뿐만 아니라, 마이닝(Mining) 기술을 적용하여 사용자 인터페이스(User Interface)를 통해 사용자 상황정보를 효과적으로 전달, 운용할 수 있다. 또한, 정보 콘텐츠의 크기, 형태, 구성이 사용자 디바이스(Device), 네트워크(Network), 상황정보(Context)에 맞게 재구성되어 새로운 형태의 정보 제공이 가능하다.
또한, 상황인지 지식서비스 시스템[지식정보 개인화 기술]은 유비쿼터스 환경에서 지식정보 서비스의 개인화를 위하여 효율적 상황정보(Context) 관리를 통한 프로파일링 기술을 구비하고 있다. 즉, 각각의 상황정보에 보안 레벨(Security Level), 지능적 레벨(Intelligence Level), 정책적 레벨(Policy Level), 기기 접근 레벨(Device Access Level) 등의 접근 권한 및 우선순위(Priority)를 두어 사용자 개개인별로 접근 가능한 정보의 수위를 평가하여 제공하며, 이는 동적인 사용자 행동양식 또는 정보 패턴을 인지하여 동적으로 변화가 가능하도록 구성된다.
상기와 같은 특징을 갖는 상황인지 지식서비스 시스템의 미들웨어 번들 간 구조는 도 2와 같다.
상황인지 지식서비스 시스템을 구성하는 미들웨어 번들 각각의 역할은 다음 과 같다.
추론엔진(Reasoning Engine)(30)은 사용자 및 환경, 서비스와 시공간의 복합적 개념의 정보를 관리하는 온톨로지로부터 정보를 추출, 관리하고, 서비스 번들로 해당 정보를 전송하는 기능을 수행한다. 또한, 다중 가정, 다중 사용자의 서비스 이용시, 사용자들의 성향이나, 프로파일(Profile), 패턴에 기반하여 상황을 추론하고, 사용자 이동에 따른 새로운 서비스 요청이나 서비스 명령시 사용자 혹은 서비스 간의 우선순위(Priority) 등의 정책 적용에 의한 서비스 제공 여부를 확인하여, 제공 수준에 따른 기기제어신호 및 서비스 정보를 전송하는 기능을 수행한다.
인터페이스/서비스 제어기(Interface/Service Controller)(50)는 다양한 형태의 상황정보[MMI로부터 입력되는 제어 신호(기기제어, 서비스 모드, 시스템 설정 등) 및 서비스 요청 신호(정보 요청)와 댁내의 센서로부터 입력되는 센서 신호]를 공통된 포맷으로 번역(Translating)하여 다른 번들로 전송하는 기능을 수행한다. 또한, 각 센서 입력에 대한 분류 및 사용자 입력에 따른 기본 데이터와의 조합 및 관리 기능을 수행한다. 또한, 입출력 상황에서의 데이터를 RDF/XML 형태의 정보로 인코딩/디코딩(Encoding/Decoding)하는 기능을 수행한다. 또한, 입출력 정보가 미들웨어에서 처리하기에 적합하지 않은 형태일 경우나 잘못 전송된 경우 해당 정보를 필터링(Filtering)하는 기능을 수행한다. 또한, 동시에 여러 신호가 전송되었을 경우, 각 입력에 대한 기본적인 상황정보에 따라 데이터의 흐름 및 서비스나 다른 번들로의 전송에 대한 스케쥴링 기능을 수행한다. 또한, 장소별 서비스 세션 구성을 통한 서비스 관리 및 스케쥴링 기능을 수행한다.
서비스 제어기(50)는 인터페이스로서의 역할과 서비스 관리 기능을 수행하는데, 이하에서는 서비스 제어기(Service Controller)의 인터페이스 기능을 인터페이스 제어기(Interface Controller)에서 수행하는 것으로 구분하여 설명한다. 그러나, 인터페이스 제어기와 서비스 제어기는 하나의 모듈로 구성 가능함에 유의하여야 한다.
세션 매니저(Session Manager)(40)는 사용자별 세션(등록 서비스 및 사용 중인 서비스에 대한 상태정보)의 생성, 삭제, 관리를 통해 끊김없는(Seamless) 서비스를 제공하는 기능을 수행한다. 또한, 각 사용자에 대한 로그온/오프(Log-On/Off) 관리 기능 및 사용자 위치에 따른 서비스 적용 상황에 대한 관리 기능을 수행한다. 또한, 각 사용자별 서비스 상태 모니터링과 추론엔진(30)에서 정의된 정책에 기반하여 사용자 세션 정보를 관리하는 기능을 수행한다. 또한, 특정 사용자에 대한 서비스 등록/해제 및 서비스 제공 가능 여부를 검사하는 기능을 수행한다. 또한, 끊김없는(Seamless) 서비스 제공을 위해 사용자가 서비스 종료시, 상태 정보를 저장하고 서비스 재시작 여부를 검사하는 기능을 수행한다.
특히, 쿼리 매니저(Query Manager)(20)는 다중 사용자 처리를 위한 상황정보를 저장 및 관리하는 기능을 수행한다. 또한, 추론 결과의 상황을 저장 및 관리하고 DBMS 내의 메타데이터를 검색하는 기능을 수행한다. 또한, 다양한 형태의 메타데이터 정보를 관리하고, 동작을 위한 중간데이터를 관리하며, 지식 레퍼지토리(10)의 각종 메타데이터를 관리하는 기능을 수행한다. 또한, 추론엔진(30)에서 요구하는 정보 및 서비스를 위한 적절한 형태의 쿼리를 생성 및 관리하는 기능을 수행한다. 또한, 룰(Rule)과 관계성에 기반한 의미정보 추출과 추출된 의미정보를 상황정보 온톨로지 기반의 인스턴스로 변환하여 저장하는 기능을 수행한다.
지식 레퍼지토리(Knowledge Repository)(10)는 홈네트워크 환경에서 필요한 사용자 및 각종 디바이스(Device) 관련 정보, 사용자에게 지식기반 서비스를 제공하기 위한 정보, 서비스 제공을 위한 시간 정보 등을 저장, 관리하고, 각 기능별로 필요한 관계성을 기술한 온톨로지 기반의 사용자 상황정보(Context)를 관리하고 서비스 정보를 관리한다.
사용자의 서비스 이용시, 미들웨어 번들의 동작 과정은 도 3과 같다.
본 상황인지 지식서비스 시스템으로의 입력은 크게 다음 2가지의 경우로 나눌 수 있다.
첫 번째는, PDA, 핸드폰 등의 사용자 단말 또는 홈패드(Homepad), 월패드(Wallpad), 인터넷 등을 통해 직접 입력되는 경우(사용자 단말 등을 통한 직접 입력)이다. 이 경우는 사용자가 사용자 단말의 서비스 UI(User Interface) 등을 통해 자신이 제공받고자 하는 서비스(기기제어, 식사모드, 취침모드 등의 서비스 모드, 시스템 설정(우선순위, 기기 접근 레벨, 보안 레벨, 지능적 레벨 등의 정책 설정) 등)를 직접 선택(명령어 입력)하거나, 어떤 정보(댁내의 환경정보, 다른 사용자의 스케쥴 등의 정보 요청)를 얻고자 할 경우이다.
두 번째는, 서비스 환경에 구축된 센서로부터 전송되어오는 상황정보(Context)가 본 상황인지 지식서비스 시스템으로 자동으로 전송되어 질 경우(센서 입력을 통한 자동 입력)이다. 예를 들어, 서비스 환경이 구축된 곳에서 각 지 역(Spot)별로 위치한 센서가 사용자의 위치를 감지하거나, 환경정보(온도, 습도, 조도)를 주기적으로 전송하는 경우를 들 수 있다.
이러한 두 가지 경우의 입력(사용자 단말, Homepad/Wallpad, 인터넷 등을 통한 직접 입력, 센서로부터의 자동 입력)이 있을 경우, 지식 기반 서비스 제공을 위한 각 미들웨어 번들의 데이터 처리 과정은 다음과 같다. 이하에서는 명령어 입력, 정보 요청, 센서 입력에 따른 처리 과정을 구분하여 설명하기로 한다.
먼저, 명령어(Command) 입력에 대한 데이터 처리 과정을 살펴보면 다음과 같다.
우선, 사용자 단말, Homepad/Wallpad, 인터넷 등을 통해 명령어(기기제어, 서비스 모드(예로서, 식사모드, 취침모드 등), 시스템 설정 등)가 입력되면, 입력 데이터(Command)는 XML로 변환되어 인터페이스 제어기(Interface Controller)(50)의 소켓으로 전송되고, XML 파서(Parser)를 통해 시스템 내부에서 이용할 수 있는 데이터로 파싱(Parsing)된다.
이후에, 인터페이스 제어기(50)는 인터페이싱 엔진(Interfacing Engine)을 통해 파싱(Parsing)된 데이터(명령어)를 분석하여 서비스의 종류(기기제어, 서비스 모드, 시스템 설정 등)에 따라 분류한다. 이때, 분류된 데이터는 서비스 종류(기기제어, 서비스 모드, 시스템 설정 등)에 따라 해당 번들로 전송된다. 즉, 기기제어의 경우, 데이터[사용자 ID 및 기기 이름(Device Name)]가 추론엔진(30)으로 전송되고, 시스템 설정의 경우, 사용자 ID 및 사용자가 설정한 정책[우선순위(Priority), 기기 접근 레벨(Device Access Level), 보안 레벨(Security Level), 지능적 레벨(Intelligence Level)]이 추론엔진(30)으로 전송되며, 서비스 모드의 경우, 데이터[사용자 ID(User ID), 서비스 이름(Service Name), 서비스 상태(Service Status)]가 서비스 제어기(50)로 전송된다.
따라서, 분류 결과, 기기제어인 경우, 정책적 측면(사용자 우선순위 및 사용권한 등)을 고려하기 위해, 추론엔진(Reasoning Engine)(30)으로 데이터[즉, 사용자 ID(User ID), 기기 이름(Device Name)]가 전송된다. 또한, 시스템 설정인 경우, 사용자 ID 및 사용자가 설정한 정책[우선순위(Priority), 기기 접근 레벨(Device Access Level), 보안 레벨(Security Level), 지능적 레벨(Intelligence Level)]이 추론엔진(30)으로 전송된다.
분류 결과, 서비스 모드인 경우, 서비스 제어기(Service Controller)(50)로 데이터[사용자 ID(User ID), 서비스 이름(Service Name), 서비스 상태(Service Status)]가 전송되어, 서비스 제어기(50)에서 서비스에 대한 정보를 분석한다. 이때, 서비스 제어기(50)는 해당 서비스에 대한 등록 여부 및 구성, 스케쥴링에 대하여 서비스 제공 적절성 여부를 검사하게 된다. 그리고, 서비스에 대한 적절성 여부가 결정되면, 서비스 제어기(50)는 사용자 ID(UserID)와 서비스 정보(서비스 이름 및 서비스 상태)를 세션 매니저(Session Manager)(40)로 전송하고, 세션 매니저(40)는 사용자별 세션을 생성하고, 서비스 상태 및 제공 여부를 결정하여 추론엔진(30)으로 전송한다.
이를(서비스 모드인 경우) 구체적으로 살펴보면, 서비스 제어기(50)는 서비스 관리 기능을 통해 서비스 분석을 수행한다. 이때, 서비스 분석이라 함은, 서비 스의 등록 여부 및 서비스가 해당 위치에서 해당 사용자에게 제공될 수 있는지의 적절성 여부를 판단하는 것을 의미한다. 만일, 해당 위치에서 우선순위가 높은 다른 서비스가 이미 수행중이거나 해당 사용자에게 권한이 주어지지 않은 서비스라면 이 단계에서 서비스 요청은 중단되고 사용자에게 제공할 수 없다는 메시지를 전송한다. 그러나, 현재 요청된 서비스의 우선순위가 이미 제공되고 있는 서비스보다 높거나, 해당 사용자에게 등록된 적절한 서비스라면 서비스 제어기(50)는 서비스를 스케쥴러에 등록하게 된다. 서비스 스케쥴러는 위치, 사용자별 서비스 정보를 관리하여 한 위치에서 동시에 여러 서비스가 수행되려 하거나 한 사용자에게 제공되는 서비스가 중복될 경우, 서비스 충돌을 방지하는 역할을 수행한다. 따라서, 서비스 제어기(50)는 서비스 지역(spot)에서 충돌 발생을 방지하기 위한 정책(우선순위, 기기 접근 레벨, 보안 레벨, 지능적 레벨)을 추론엔진(30)에 호출하여 가져와, 서비스 스케쥴링을 수행한다.
이후, 서비스 스케쥴러에 의해 서비스가 결정되면, 서비스 제공을 위한 정보[사용자 ID, 서비스 정보(서비스 이름 및 상태)]가 세션 매니저(Session Manager)(40)로 전송되고, 세션 매니저(40)는 사용자별 세션을 생성하고, 서비스 상태 및 제공 여부를 결정하여 추론엔진(30)으로 전송한다. 여기서, 세션 매니저(40)는 서비스 상태 및 제공 여부를 결정함에 있어서, 서비스 제어기(50)로부터 사용자 ID, 서비스 이름, 서비스 상태를 변수값으로 입력받아, 입력된 정보를 파싱한 후, 사용자 ID를 키워드(Keyword)로 사용하여 세션의 상태를 검사(Checking)하게 된다. 즉, 해당 사용자가 이용하던 서비스가 있는지, 서비스의 최종 상태는 어 떠한지에 대한 정보를 쿼리 매니저(20)를 통해 지식 레퍼지토리(10)의 세션 데이터 테이블(Session Data Table)로부터 얻게 된다.
한편, 추론엔진(30)은 입력된 서비스 및 정보를 검토한 후 해당 정책을 적용하기 위해 쿼리 매니저(Query Manager)(20)로 데이터를 전송한다. 그러면, 쿼리 매니저(20)는 적절한 쿼리(Query)를 생성하고, 생성된 쿼리를 지식 레퍼지토리(10)의 온톨로지(Ontology)로 전송하여 정보를 얻은 후[상황정보 매니저의 역할], 다시 추론엔진(30)으로 전송한다. 이후, 추론엔진(30)은 서비스 및 제어될 기기가 결정되면 해당 데이터(기기제어 정보)를 디바이스 제어기(Device Controller)로 전송하고 처리 결과를 인터페이스 제어기(50)로 전송하여, 사용자에게 서비스를 제공토록 한다. 이때, 기기 제어가 필요할 경우 디바이스 제어기로 해당 서비스에 대한 기기 제어 목록 및 Property를 전송하여 기기를 제어하게 된다.
즉, 명령어가 서비스 모드 입력인 경우, 추론엔진(30)은 입력에 대한 적절성 여부를 판단하고, 해당 서비스를 제공하기 위한 동작을 수행하게 된다. 즉, 세션 매니저(40)로부터 사용자 ID, 서비스 이름(Service Name), 서비스 상태(Service State)가 변수값으로 입력되면, 입력된 정보를 룰 엔진(Rule Engine)에서 쿼리 매니저(20)를 통해 온톨로지(Ontology)로 업데이트하고, 업데이트된 온톨로지(Ontology)로 쿼리(Query)를 전송하여 해당 서비스에 대해 제어될 기기 및 표시될 정보를 수집하게 된다[추론엔진(30)이 쿼리 매니저(20)를 통해 온톨로지를 업데이트하고 업데이트된 온톨로지로부터 정보를 수집하게 됨]. 이때, 수집된 정보는 다양한 정책(보안 레벨, 기기 접근 레벨, 우선순위, 지능적 레벨)을 이용하여 필터 링(Filtering)되고, 이러한 정책 정보(보안 레벨, 기기 접근 레벨, 우선순위, 지능적 레벨)를 토대로 서비스 및 정보를 결정하고 디바이스 제어기 및 인터페이스 제어기(50)에서 이용 가능한 값으로 파싱(Parsing)되어 전달된다.
또한, 명령어가 기기제어 입력의 경우, 추론엔진(30)은 입력에 대한 적절성 여부를 판단하고, 해당 서비스를 제공하기 위한 동작을 수행하게 된다. 즉, 추론엔진(30)은 사용자 ID와 기기 이름(Device Name)을 인터페이스 제어기(50)로부터 입력받아, 입력된 정보(사용자 ID, 기기 이름)를 쿼리 매니저(20)로 넘겨주고, 쿼리 매니저(20)가 이를 토대로 쿼리를 생성하여 온톨로지에 기기 접근 레벨(사용자 ID를 바탕으로 해당 사용자의 기기 접근 레벨을 가져옴)을 요청해서 그 결과를 반환받아 추론엔진(30)으로 전달하면, 추론엔진(30)에서는 수집된 정보(정책 중 사용자 기기 접근 레벨)를 바탕으로 기기의 제어 유무를 판단하여, 사용 가능할 경우 디바이스 제어기로 제어명령(온/오프)을 전송하고 처리 결과를 인터페이스 제어기(50)를 통해 사용자에게 알린다. 이때, 기기 제어가 필요할 경우 디바이스 제어기로 해당 서비스에 대한 기기 제어 목록 및 Property를 전송하여 기기를 제어하게 된다.
또한, 명령어가 시스템 설정 입력의 경우, 추론엔진(30)은 사용자 ID, 사용자가 입력한 정책(우선순위, 기기 접근 레벨, 보안 레벨, 지능적 레벨)을 인터페이스 제어기(50)로부터 입력받아 쿼리 매니저(20)로 전달하고, 쿼리 매니저(20)는 추론엔진(30)으로부터 사용자 ID와 사용자가 설정한 정책(우선순위, 기기 접근 레벨, 보안 레벨, 지능적 레벨)을 전달받아 해당 사용자(사용자 ID를 바탕으로 함)의 정책을 온톨로지에 업데이트한다. 그리고, 추론엔진(30)은 인터페이스 제어기(50)를 통해 처리 결과(온톨로지 업데이트 결과)를 사용자에게 알린다.
이제, 정보 요청에 대한 데이터 처리 과정을 살펴보기로 한다.
사용자 단말, Homepad/Wallpad, 인터넷 등을 통해 정보(예로서, 댁내의 환경정보, 스케쥴, 프로파일, 서비스 레벨, 보안 레벨 등)의 요청이 있는 경우, 마찬가지로 사용자 단말 등에서 XML로 변환된 정보요청 메시지가 보내진다. 이후, XML로 변환된 데이터(정보 요청 메시지)는 인터페이스 제어기(Interface Controller)(50)의 소켓으로 전송되고, XML 파서(Parser)를 통해 시스템 내부에서 이용할 수 있는 데이터로 파싱(Parsing)된다.
이후에, 인터페이스 제어기(50)는 인터페이싱 엔진(Interfacing Engine)을 통해 파싱(Parsing)된 데이터[사용자 ID, 쿼리 이름, 정보 이름]를 분석하여(이 경우 정보 요청임을 인지함) 추론엔진(Reasoning Engine)(30)으로 전송한다.
이후, 추론엔진(30)은 입력된 정보[사용자 ID, 쿼리 이름, 정보 이름]를 검토[보안 레벨 및 기기 접근 레벨에 따라 입력에 대한 적절성 여부를 검토함]한 후 해당 정책을 적용하기 위해 쿼리 매니저(Query Manager)(20)로 데이터(정보 요청 메시지)를 전송하며, 쿼리 매니저(20)는 적절한 쿼리(Query)를 생성하고 생성된 쿼리를 지식 레퍼지토리(10)의 온톨로지(Ontology)로 전송하여 정보를 얻은 후, 다시 추론엔진(30)으로 전송한다. 이후, 시스템에서 제공할 정보는 인터페이스 제어기(Interface Controller)(50)를 통해 사용자에게 전송된다. 즉, 정보 요청의 경우, 쿼리 매니저(20)는 추론엔진(30)에서 요청하는 사용자가 요청한 정보를 온톨로지에서 가져와 추론엔진(30)으로 전송한다. 그러면, 추론엔진(30)은 사용자가 요청 한 정보를 수집하여 정책(보안레벨, 우선순위)에 따라 정보를 결정하여, 인터페이스 제어기(50)를 통해 사용자에게 전송한다.
마지막으로, 센서 입력에 대한 데이터 처리 과정을 살펴보기로 한다.
센서로부터의 상황정보(Context) 입력시, 상황인지 지식서비스 시스템은 사용자의 위치에 따른 서비스를 제공하기 위해 사용자의 위치가 센서로부터 전송되면[이 경우, 센서의 위치 좌표가 입력되면 사용자의 위치를 센서 위치 좌표로 간주하게 됨] 서비스 지역(Spot)에 따라 사용자의 선호환경(사용자가 원하는 온도, 습도, 조명, 영화, 음악 등)이 제공되도록 한다.
이를 구체적으로 살펴보면, 각각의 서비스 지역(예로서, 거실, 안방, 현관 등)에 위치한 센서에서 사용자를 감지할 경우[즉, 사용자의 위치가 변하거나 서비스 지역의 상태가 변하는 경우 등], 해당 센서는 인터페이스 제어기(Interface Controller)(50)의 리스너(Listener)로 센서 정보(센서의 위치 좌표 정보)를 전송한다. 그러면, 인터페이스 제어기(50)는 센서로부터 전송된 데이터(센서 정보)가 중복되거나 손상되었을 경우 이를 필터링(Filtering)한 후, 추론엔진(Reasoning Engine)(30)의 API로 데이터[사용자 ID, 센서 데이터, 사용자 위치]를 전송한다.
이후, 추론엔진(30)은 센서 정보를 참조하여 해당 지역(예로서, 거실, 안방, 현관 등)에서 어떤 서비스를 제공할지에 대한 결정을 내린다. 이때, 서비스의 결정은 지식 레퍼지토리(Knowledge Repository)(10)의 온톨로지(Ontology)를 참조하여 결정하게 된다. 즉, 추론엔진(30)은 입력된 센서 정보를 검토한 후 해당 정책을 적용하기 위해 쿼리 매니저(Query Manager)(20)로 데이터를 전송하고, 쿼리 매니 저(20)는 적절한 쿼리(Query)를 생성한 후 생성된 쿼리를 지식 레퍼지토리(10)의 온톨로지(Ontology)로 전송하여 정보를 얻은 후, 다시 추론엔진(30)으로 전송한다. 따라서, 추론엔진(30)은 센서의 위치를 기반으로 사용자의 위치를 추론하게 되고, 해당 사용자에게 제공될 서비스에 대한 제어기기 정보를 수집하게 된다. 이후에, 추론엔진(30)은 서비스가 결정되면 해당 서비스 정보[사용자 ID, 서비스 이름(선호환경 서비스), 서비스 상태값(사용자의 위치가 포함)]를 서비스 제어기(Service Controller)(50)로 전송한다.
여기서, 추론엔진(30)에 입력된 정보는 룰 엔진에서 쿼리 매니저(20)를 통해 온톨로지로 업데이트되고, 업데이트된 온톨로지로 쿼리를 전송하여 해당 위치의 사용자를 추론하고 다시 사용자에게 제공될 서비스에 대한 제어 기기 정보를 수집한다. 이러한 기기 정보에 정책(보안 레벨, 기기 접근 레벨, 우선순위, 지능적 레벨)을 적용하여 서비스를 결정하게 된다. 이때, 쿼리 매니저(20)는 추론엔진(30)의 요청에 따라 센서의 위치에 따른 사용자의 위치값을 온톨로지에서 가져와 추론엔진(30)으로 전송한다.
이후, 서비스 제어기(50)는 해당 서비스에 대한 등록 여부 및 구성, 스케쥴링에 대하여 서비스 제공 적절성 여부를 검사한 후, 세션 매니저(Session Manager)(40)로 데이터(사용자 ID, 서비스 이름, 서비스 상태)를 전송하여, 해당 세션에 사용자와 서비스 상태 정보를 등록시키게 된다.
여기서, 서비스에 대한 적절성 여부가 결정되면, 서비스 제어기(50)는 사용자 ID(UserID)와 서비스 정보(서비스 이름 및 상태)를 세션 매니저(Session Manager)(40)로 전송하고, 세션 매니저(40)는 사용자별 세션을 생성하고, 서비스 상태 및 제공 여부를 결정하여 추론엔진(30)으로 전송한다.
이를 구체적으로 살펴보면, 서비스 제어기(50)는 서비스 관리 기능을 통해 서비스 분석을 수행한다. 이때, 서비스 분석이라 함은, 서비스의 등록 여부 및 서비스가 해당 위치에서 해당 사용자에게 제공될 수 있는지의 적절성 여부를 판단하는 것을 의미한다. 만일, 해당 위치에서 우선순위가 높은 다른 서비스가 이미 수행중이거나 해당 사용자에게 권한이 주어지지 않은 서비스라면 이 단계에서 서비스 요청은 중단되고 사용자에게 제공할 수 없다는 메시지를 전송한다. 그러나, 현재 요청된 서비스의 우선순위가 이미 제공되고 있는 서비스보다 높거나, 해당 사용자에게 등록된 적절한 서비스라면 서비스 제어기(50)는 서비스를 스케쥴러에 등록하게 된다. 서비스 스케쥴러는 위치, 사용자별 서비스 정보를 관리하여 한 위치에서 동시에 여러 서비스가 수행되려 하거나 한 사용자에게 제공되는 서비스가 중복될 경우, 서비스 충돌을 방지하는 역할을 수행한다. 따라서, 서비스 제어기(50)는 서비스 지역(spot)에서 충돌 발생을 방지하기 위한 정책(우선순위, 기기 접근 레벨, 보안 레벨, 지능적 레벨)을 추론엔진(30)에 호출하여 가져와, 서비스 스케쥴링을 수행한다.
이후, 서비스 스케쥴러에 의해 서비스가 결정되면, 서비스 제공을 위한 정보[사용자 ID, 서비스 정보(서비스 이름 및 상태)]가 세션 매니저(Session Manager)(40)로 전송되고, 세션 매니저(40)는 사용자별 세션을 생성하고, 서비스 상태 및 제공 여부를 결정하여 추론엔진(30)으로 전송한다. 여기서, 세션 매니 저(40)는 서비스 상태 및 제공 여부를 결정함에 있어서, 서비스 제어기(50)로부터 사용자 ID, 서비스 이름(선호환경 서비스), 서비스 상태(사용자의 위치가 포함됨)를 변수값으로 입력받아, 입력된 정보를 파싱한 후, 사용자 ID를 키워드(Keyword)로 사용하여 세션의 상태를 검사(Checking)하게 된다. 즉, 해당 사용자가 이용하던 서비스가 있는지, 서비스의 최종 상태는 어떠한지에 대한 정보를 쿼리 매니저(20)를 통해 지식 레퍼지토리(10)의 세션 데이터 테이블(Session Data Table)로부터 얻게 된다.
다음으로, 추론엔진(30)은 입력된 서비스 및 정보를 검토한 후 해당 정책을 적용하기 위해 쿼리 매니저(Query Manager)(20)로 데이터를 전송한다. 그러면, 쿼리 매니저(20)는 적절한 쿼리(Query)를 생성하고, 생성된 쿼리를 지식 레퍼지토리(10)의 온톨로지(Ontology)로 전송하여 정보를 얻은 후[상황정보 매니저의 역할], 다시 추론엔진(30)으로 전송한다. 이후, 추론엔진(30)은 서비스 및 제어될 기기가 결정되면 해당 데이터(기기제어 정보)를 디바이스 제어기(Device Controller)로 전송하여 기기를 제어하고 인터페이스 제어기(50)를 통해 사용자에게 센서 인식으로 인한 서비스 처리결과를 알린다. 즉, 추론엔진(30)은 쿼리 매니저(20)를 통해 온톨로지로부터 해당 사용자의 정책(보안 레벨, 기기 접근 레벨, 우선순위, 지능적 레벨)을 수집하고, 이를 토대로 디바이스 제어기(Device Controller)를 통해 기기를 제어하고 인터페이스 제어기(50)를 통해 센서 인식으로 인한 서비스 처리결과를 알린다. 이때, 기기 제어가 필요할 경우 디바이스 제어기로 해당 서비스에 대한 기기 제어 목록 및 Property를 전송하여 기기를 제어하게 된다.
상기에서, 상황인지 지식서비스 시스템에 적용되는 정책(보안 레벨, 기기 접근 레벨, 우선순위, 지능적 레벨)을 보다 구체적으로 살펴보면 다음과 같다.
우선순위(Priority)는 사용자 우선순위(User Priority)(하기의 [표 1] 참조)와 태스크 우선순위(Task Priority)(하기의 [표 2] 참조)로 구분된다.
사용자 우선순위(User Priority)는 하기의 [표 1]와 같이, 서비스 사용자들의 우선순위를 정하여 두 명 이상의 사용자가 같은 공간에서 같은 서비스를 요청하였을 경우, 사용자의 우선순위를 확인하여 우선순위가 높은 사용자에게 요청한 서비스를 제공하도록 한다.
Figure 112007084097267-pat00001
또한, 태스크 우선순위(Task Priority)는 하기의 [표 2]와 같이, 서비스들간의 우선순위에 대한 것으로, 사용자가 여러 서비스를 요청하였을 경우, 해당 서비스의 우선순위에 따라 서비스를 제공하도록 한다.
Figure 112007084097267-pat00002
한편, 보안 레벨(Security Level)은 사용자 프라이버시(Privacy) 및 보안 강화를 위해 상황정보(Context)에 대한 차등적 보안레벨을 적용하는 것이다. 이 보안 레벨(Security Level)에 따라 사용자 정보(기본 정보 및 스케쥴)의 공개 정도가 달라지게 된다.
다른 한편, 기기 접근 레벨(Device Access Level)은 하기의 [표 3]과 같이, 사용자의 레벨과 연동하여 기기(Device)를 사용하고 제어 및 관리할 수 있는 등급을 적용하여 각기 다른 상황과 환경에 따라 레벨이 달라진다.
Figure 112007084097267-pat00003
또 다른 한편, 지능적 레벨(Intelligence Level)은 하기의 [표 4]와 같이, 선호환경 서비스 제공을 위해 사용된다. 따라서, 사용자 각자의 지능적 레벨(Intelligence Level)을 확인하여 레벨에 따라 선호 환경 서비스를 제공하게 된다.
Figure 112007084097267-pat00004
정리해보면, 상황인지 지식서비스 시스템은, 사용자 및 환경, 서비스와 시공간의 복합적 개념의 정보 및 사용자별 정책(보안 레벨, 기기 접근 레벨, 우선순위, 지능적 레벨)을 저장ㆍ관리하고 있는 지식 레퍼지토리(온톨로지)(10)와, 입력 데이터(기기제어, 서비스 모드, 시스템 설정을 포함하는 사용자 명령어, 정보 요청 메시지, 센서 입력 정보 중 어느 하나임)를 시스템 내부에서 이용할 수 있도록 파싱하여, 서비스 종류에 따라 분류하기 위한 인터페이스 제어기(50)와, 정책(보안 레벨, 기기 접근 레벨, 우선순위, 지능적 레벨)을 참조하여, 서비스 지역에서 사용자 간 또는 서비스 간 충돌 발생을 방지하기 위한 서비스 스케쥴링을 수행하기 위한 서비스 제어기(50)와, 서비스 스케쥴링에 따른 서비스 제공시, 사용자별 서비스 상태를 트랙킹하여 끊김없는(Seamless) 서비스를 제공하기 위한 세션 매니저(40)와, 지식 레퍼지토리(온톨로지)(10)로부터 수집된 정보를 토대로 제공될 서비스를 추론하고, 정책(보안 레벨, 기기 접근 레벨, 우선순위, 지능적 레벨)에 따라 해당 사용자의 서비스 제공 여부 및 제공 수준을 동적으로 제어하기 위한 추론엔진(30)과, 추론엔진(30)의 요청에 따라 쿼리를 생성하여 지식 레퍼지토리(온톨로지)(10)에 질의하고 그 응답을 반환받기 위한 쿼리 매니저(20)를 포함한다.
여기서, 세션 매니저(40)는, 사용자와 서비스의 상태를 저장하여 서비스를 시작할 경우 세션을 등록하고, 서비스가 종료될 경우 최종 상태를 저장하여 다음에 서비스를 요청하면 최종 상태를 알려주어 서비스의 최종 상태에서부터 끊김없는 서비스를 제공할 수 있도록 한다.
또한, 서비스 제어기(50)는 입력 데이터가 서비스 모드 명령어 및 센서 입력 정보인 경우, 정책(보안 레벨, 기기 접근 레벨, 우선순위, 지능적 레벨)을 추론엔진(30)에 호출하여, 정책을 참조하여 서비스 스케쥴링을 수행한다.
그리고, 추론엔진(30)은, 입력 데이터가 기기제어 명령어인 경우, 인터페이스 제어기(50)로부터 사용자 ID와 기기 이름을 입력받아, 이를 바탕으로 생성된 쿼리를 통해 해당 서비스에 대해 제어될 기기 및 표시될 정보를 수집하여(쿼리 매니저(20)를 통해 수집함), 정책 중 기기 접근 레벨을 바탕으로 기기의 제어 유무를 판단하고, 사용 가능할 경우 디바이스 제어기(Device Controller)로 기기제어 명령을 전송하고 그 제어 결과를 인터페이스 제어기(50)를 통해 사용자에게 전달한다.
또한, 추론엔진(30)은, 입력 데이터가 시스템 설정 명령어인 경우, 인터페이스 제어기(50)로부터 사용자 ID와 사용자가 설정한 정책(보안 레벨, 기기 접근 레벨, 우선순위, 지능적 레벨)을 입력받아, 사용자가 설정한 정책을 쿼리 매니저(20)를 통해 지식 레퍼지토리(온톨로지)(10)에 업데이트한다. 이때, 온톨로지 업데이트 결과를 인터페이스 제어기(50)를 통해 사용자에게 알릴 수 있다.
또한, 추론엔진(30)은, 입력 데이터가 정보 요청 메시지인 경우, 인터페이스 제어기(50)로부터 사용자 ID, 쿼리 이름, 정보 이름을 입력받아, 이를 바탕으로 생성된 쿼리를 통해 지식 레퍼지토리(온톨로지)(10)로부터 사용자가 요청한 정보를 수집하여(쿼리 매니저(20)를 통해 수집함), 정책(보안 레벨, 기기 접근 레벨, 우선순위, 지능적 레벨)을 토대로 인터페이스 제어기(50)를 통해 사용자에게 전달한다.
또한, 추론엔진(30)은, 입력 데이터가 서비스 모드 명령어인 경우, 세션 매니저(40)로부터 사용자 ID, 서비스 이름 및 서비스 상태를 입력받아, 쿼리 매니저(20)를 통해 해당 서비스에 대해 제어될 기기 및 표시될 정보를 수집하여, 정책(보안 레벨, 기기 접근 레벨, 우선순위, 지능적 레벨)을 토대로 디바이스 제어기로 기기제어 명령을 전송하고 그 제어 결과를 인터페이스 제어기(50)를 통해 사용자에게 전달한다.
또한, 추론엔진(30)은, 입력 데이터가 센서 입력 정보인 경우, 센서의 위치를 기반으로 사용자의 위치를 추론하고 해당 사용자에게 제공될 서비스에 대한 제어기기 정보를 수집한 후, 서비스 제어기(50)로 사용자 ID, 서비스 이름, 서비스 상태를 전달하여, 서비스 제어기(50)에서 서비스 충돌이 없다고 판단되면, 정책(보안 레벨, 기기 접근 레벨, 우선순위, 지능적 레벨)을 바탕으로 디바이스 제어기로 기기제어 명령을 전송하고 그 제어 결과를 인터페이스 제어기(50)를 통해 사용자에게 알린다.
이하에서는, 쿼리 관리 장치[쿼리 매니저(Query Manager)(20)]의 구성 및 동작에 대해 도 4 및 도 5를 참조하여 보다 상세하게 살펴보기로 한다.
본 발명에 따른 쿼리 관리 장치[쿼리 매니저(20)]는 다른 서비스 번들[추론엔진(30)]로부터 쿼리 생성이 요청되면 외부 입력에 따라 시스템에 필요한 형태로 데이터를 변형하여 시스템 구현에 필요한 쿼리의 생성과 각 상황에 적합한 쿼리의 스케쥴링을 통해 쿼리를 생성하여 알맞은 정보를 추출하기 위한 동작을 실행하여 그에 대한 결과를 도출한다. 이때, 쿼리 생성시 기 정의된 쿼리 포맷을 이용하여 쿼리를 생성하게 된다.
쿼리 매니저(Query Manager)(20)는, 도 1에 도시된 바와 같이 OSGi 번들(Bundle) 형태로서 OSGi 프레임워크 상에 인스톨(Install)되어 실행된다.
전술한 바와 같이, 쿼리 매니저(20)는 다중 사용자 처리를 위한 상황정보를 저장 및 관리하는 기능을 수행한다. 또한, 추론 결과의 상황을 저장 및 관리하고 DBMS 내의 메타데이터를 검색하는 기능을 수행한다. 또한, 다양한 형태의 메타데이터 정보를 관리하고, 동작을 위한 중간데이터를 관리하며, 지식 레퍼지토리(10)의 각종 메타데이터를 관리하는 기능을 수행한다. 또한, 추론엔진(30)에서 요구하는 정보 및 서비스를 위한 적절한 형태의 쿼리를 생성 및 관리하는 기능을 수행한다. 또한, 룰(Rule)과 관계성에 기반한 의미정보 추출과 추출된 의미정보를 상황정보 온톨로지 기반의 인스턴스로 변환하여 저장하는 기능을 수행한다.
도 4에 도시된 바와 같이, 쿼리 매니저(20)는 쿼리 매니저 API(21), 데이터 인터페이스부(Data Interface)(22), 쿼리 분석기(Query Analyzer)(23), 쿼리 생성기Query Generator(24), 상황정보 매니저(Context Manager)(25)로 구성된다.
이를 구체적으로 살펴보면, 본 발명에 따른 상황인지 지식서비스를 쿼리 관리 장치[쿼리 매니저(20)]는, 입력 데이터를 분류 및 분석하고, 출력 데이터를 전송할 모듈에 맞는 포맷으로 변환하여 전송하는 데이터 인터페이스부(22)와, 입력 데이터를 쿼리의 종류에 따라 분류하고, 쿼리를 이용하여 응답받은 출력 데이터를 외부에서 이용 가능하도록 분류하기 위한 쿼리 분석기(23)와, 쿼리의 종류별로 쿼리 포맷을 저장하고 있어, 쿼리 분석기(23)에 의해 분류된 데이터에 맞는 쿼리 포맷을 선택하여 쿼리를 생성하기 위한 쿼리 생성기(25)와, 생성된 쿼리를 바탕으로 지식 레퍼지토리(10)에 접근하여, 서비스에서 요구되는 정보들을 질의하고 그 응답(출력 데이터)을 반환받기 위한 상황정보 매니저(25)를 포함한다.
데이터 인터페이스부(22)는 쿼리 매니저(20)로 전송되는 데이터를 분류하고 분석하며, 쿼리 매니저(20) 내부에서 외부의 모듈로 전송되는 데이터를 전송할 모듈에 맞는 포맷(Format)으로 변형하여 전송한다.
쿼리 분석기(23)는 외부로부터 입력된 데이터를 분석하고 적절한 포맷으로 분류하여 쿼리 생성기(24)로 전송하는 역할을 한다. 또한, 지식 레퍼지토리(10)의 온톨로지(Ontology)로부터 얻어진 쿼리(Query)를 외부에서 이용가능한 형태의 포맷으로 분류(Parsing)하는 역할을 담당한다.
쿼리 생성기(24)는 시스템에서 요구하는 쿼리(Query)의 종류별로 쿼리 포맷을 저장하고 있어, 쿼리 분석기(23)로부터 분류된 데이터가 전송되어 올 경우, 그 데이터에 맞추어 쿼리(Query)를 생성한다.
상황정보 매니저(25)는 지식 레퍼지토리(10)와 직접적으로 통신하는 역할을 한다. 상황인지 지식서비스 시스템에서 지식 레퍼지토리(10)의 데이터베이스(Database) 및 온톨로지(Ontology)에 접근하기 위해서는 상황정보 매니저(25)를 거쳐야만 한다.
상기 데이터 인터페이스부(22)는 외부 데이터를 전송받아 분류(Parsing)하여 추론엔진(30)의 리즈너(Reasoner), 룰엔진(Rule Engine)으로 전송하는 데이터 리스너(Data Listener), 내부 데이터를 외부로 전송할 경우 변환(Formatting)하여 전송하는 데이터 변환기(Data Formatter)로 구성된다.
또한, 상기 쿼리 분석기(23)는 외부 데이터를 쿼리(Query)의 종류에 따라 분류하는 데이터 번역기(Data Translator), 쿼리(Query)를 이용하여 응답받은 데이터를 외부에서 이용하도록 분류(Parsing)하는 쿼리 파서(Query Parser)로 구성된다.
또한, 상기 쿼리 생성기(24)는 쿼리(Query)의 종류에 따른 포맷을 저장하고 있는 쿼리 팩토리(Query Factory), 특정 데이터 값과 쿼리 팩토리(Query Factory)의 쿼리 포맷(Query Format)을 이용하여 온톨로지(Ontology)로 전송하기 위한 쿼리를 생성하는 쿼리 변환기(Query Formatter)로 구성된다.
또한, 상기 상황정보 매니저(25)는 온톨로지(Ontology)에 접근하기 위한 지식 매니저(Knowledge Manager), 일반적인 데이터베이스(Database)에 접근하기 위한 저장 매니저(Storage Manager), 세션 데이터 테이블(Session Data Table)에 접근하기 위한 세션 데이터 매니저(Session Data Manager)로 구성된다.
사용자의 서비스 이용시, 쿼리 매니저(20)의 동작 과정은 도 5와 같다.
도 5에 도시된 바와 같이, 외부의 번들로부터 쿼리 매니저(20)로 접근하는 경우는 두 가지 경우가 있다. 즉, 쿼리(Query)를 이용한 지식기반 추론을 수행하기 위한 경우와, 데이터베이스(file database, Temporal database, Session Data table)에 접근하는 경우이다.
먼저, 쿼리 매니저(20)의 상황정보 매니저(25)가 지식 레퍼지토리(10)의 온톨로지(Ontology)에 접근하는 경우를 살펴보면 다음과 같다.
쿼리 매니저(20)는 쿼리(Query)를 생성하고 온톨로지(Ontology)에 대한 관리를 담당한다.
즉, 외부에서 데이터가 전송되면, 먼저 데이터 인터페이스부(22)의 리스너(Data Listener)로 전송되어, 해당 데이터가 데이터베이스(Database)로의 접근인지, 쿼리(Query)를 생성하여 온톨로지(Ontology)로 접근하는 경우인지를 판단한다.
판단 결과, 쿼리(Query)를 이용한 질의/응답을 위한 데이터라면, 쿼리 분석기(23)로 전송되어, 데이터가 요청하는 응답이 어떤 종류인지에 따라 분류되게 된다.
이후, 데이터 분석이 끝나면, 쿼리 생성기(24)가 해당 데이터의 질의 종류에 따라 쿼리 팩토리(Query Factory)에서 적절한 쿼리 포맷(Query Format)을 선택하여 쿼리(Query)를 생성한다. 이렇게 생성된 쿼리(Query)는 상황정보 매니저(25)로 전송되어 온톨로지(Ontology)를 통한 질의/응답을 수행한다. 이렇게 얻어진 응답은 다시 외부로 전송되기 위해 변환(Parsing)을 거쳐 리턴(Return)된다[쿼리 파서(Query Paser)].
쿼리를 통해 온톨로지에 접근하여 질의/응답하는 과정에 대해 보다 상세하게 살펴보면 다음과 같다.
먼저, 명령어(Command) 입력(기기제어, 서비스 모드, 시스템 설정 등)에 대한 데이터 처리 과정을 살펴보면 다음과 같다.
명령어가 기기제어 입력의 경우, 추론엔진(30)이 사용자 ID와 기기 이름(Device Name)을 인터페이스 제어기(50)로부터 입력받아, 입력된 정보(사용자 ID, 기기 이름)를 쿼리 매니저(20)로 넘겨주면, 쿼리 매니저(20)는 이를 토대로 쿼리를 생성하여 온톨로지에 기기 접근 레벨(사용자 ID를 바탕으로 해당 사용자의 기기 접근 레벨을 가져옴)을 요청해서 그 결과를 반환받아 추론엔진(30)으로 전달한다. 이후에, 추론엔진(30)에서는 수집된 정보(정책 중 사용자 기기 접근 레벨)를 바탕으로 기기의 제어 유무를 판단하여, 사용 가능할 경우 디바이스 제어기로 제어명령(온/오프)을 전송하고 처리 결과를 인터페이스 제어기(50)를 통해 사용자에게 알린다. 이때, 기기 제어가 필요할 경우 디바이스 제어기로 해당 서비스에 대한 기기 제어 목록 및 Property를 전송하여 기기를 제어하게 된다.
또한, 명령어가 서비스 모드 입력인 경우, 추론엔진(30)은 세션 매니저(40)로부터 사용자 ID, 서비스 이름(Service Name), 서비스 상태(Service State)를 변수값으로 입력받아, 입력된 정보를 룰 엔진(Rule Engine)에서 쿼리 매니저(20)를 통해 온톨로지(Ontology)로 업데이트하고, 업데이트된 온톨로지(Ontology)로 쿼리(Query)를 전송하여 해당 서비스에 대해 제어될 기기 및 표시될 정보를 수집하게 된다[추론엔진(30)이 쿼리 매니저(20)를 통해 온톨로지를 업데이트하고 업데이트된 온톨로지로부터 정보를 수집하게 됨]. 이때, 수집된 정보는 다양한 정책(보안 레벨, 기기 접근 레벨, 우선순위, 지능적 레벨)을 이용하여 필터링(Filtering)되고, 이러한 정책 정보(보안 레벨, 기기 접근 레벨, 우선순위, 지능적 레벨)를 토대로 서비스 및 정보를 결정하고 디바이스 제어기 및 인터페이스 제어기(50)에서 이용 가능한 값으로 파싱(Parsing)되어 전달된다.
또한, 명령어가 시스템 설정 입력의 경우, 추론엔진(30)이 사용자 ID, 사용자가 입력한 정책(우선순위, 기기 접근 레벨, 보안 레벨, 지능적 레벨)을 인터페이스 제어기(50)로부터 입력받아, 쿼리 매니저(20)로 전달하면, 쿼리 매니저(20)는 추론엔진(30)으로부터 사용자 ID와 사용자가 설정한 정책(우선순위, 기기 접근 레벨, 보안 레벨, 지능적 레벨)을 전달받아 해당 사용자(사용자 ID를 바탕으로 함)의 정책을 온톨로지에 업데이트한다. 이후에, 추론엔진(30)은 인터페이스 제어기(50)를 통해 처리 결과(온톨로지 업데이트 결과)를 사용자에게 알린다.
한편, 정보 요청의 경우, 추론엔진(30)이 인터페이스 제어기(50)로부터 사용자 ID, 쿼리 이름, 정보 이름을 입력받아, 입력된 정보[사용자 ID, 쿼리 이름, 정보 이름]를 검토[보안 레벨 및 기기 접근 레벨에 따라 입력에 대한 적절성 여부를 검토함]한 후 해당 정책을 적용하기 위해 쿼리 매니저(Query Manager)(20)로 데이터(정보 요청 메시지)를 전송하면, 쿼리 매니저(20)는 적절한 쿼리(Query)를 생성하고 생성된 쿼리를 지식 레퍼지토리(10)의 온톨로지(Ontology)로 전송하여 정보를 얻은 후, 다시 추론엔진(30)으로 전송한다. 이후에, 시스템에서 제공할 정보는 인터페이스 제어기(Interface Controller)(50)를 통해 사용자에게 전송된다. 즉, 정보 요청의 경우, 쿼리 매니저(20)가 추론엔진(30)에서 요청하는 사용자가 요청한 정보를 온톨로지에서 가져와 추론엔진(30)으로 전송하면, 추론엔진(30)에서는 사용자가 요청한 정보를 수집하여 정책(보안레벨, 우선순위)에 따라 정보를 결정하여, 인터페이스 제어기(50)를 통해 사용자에게 전송한다.
다른 한편, 센서 입력의 경우, 추론엔진(30)이 입력된 센서 정보를 검토한 후 해당 정책을 적용하기 위해 쿼리 매니저(Query Manager)(20)로 데이터를 전송하면, 쿼리 매니저(20)는 적절한 쿼리(Query)를 생성한 후 생성된 쿼리를 지식 레퍼지토리(10)의 온톨로지(Ontology)로 전송하여 정보를 얻은 후, 다시 추론엔진(30)으로 전송한다. 따라서, 추론엔진(30)은 센서의 위치를 기반으로 사용자의 위치를 추론하게 되고, 해당 사용자에게 제공될 서비스에 대한 제어기기 정보를 수집하게 된다.
이후에, 추론엔진(30)은 서비스가 결정되면 해당 서비스 정보[사용자 ID, 서비스 이름(선호환경 서비스), 서비스 상태값(사용자의 위치가 포함)]를 서비스 제어기(Service Controller)(50)로 전송한다. 이후, 서비스 제어기(50)는 해당 서비스에 대한 등록 여부 및 구성, 스케쥴링에 대하여 서비스 제공 적절성 여부를 검사한 후, 세션 매니저(Session Manager)(40)로 데이터(사용자 ID, 서비스 이름, 서비스 상태)를 전송하여, 해당 세션에 사용자와 서비스 상태 정보를 등록시키게 된다.
여기서, 서비스에 대한 적절성 여부가 결정되면, 서비스 제어기(50)는 사용자 ID(UserID)와 서비스 정보(서비스 이름 및 상태)를 세션 매니저(Session Manager)(40)로 전송하고, 세션 매니저(40)는 사용자별 세션을 생성하고, 서비스 상태 및 제공 여부를 결정하여 추론엔진(30)으로 전송한다.
다음으로, 추론엔진(30)이 입력된 서비스 및 정보를 검토한 후 해당 정책을 적용하기 위해 쿼리 매니저(Query Manager)(20)로 데이터를 전송하면, 쿼리 매니저(20)는 적절한 쿼리(Query)를 생성하고, 생성된 쿼리를 지식 레퍼지토리(10)의 온톨로지(Ontology)로 전송하여 정보를 얻은 후[상황정보 매니저의 역할], 다시 추론엔진(30)으로 전송한다. 이후에, 추론엔진(30)은 서비스 및 제어될 기기가 결정되면 해당 데이터(기기제어 정보)를 디바이스 제어기(Device Controller)로 전송하여 기기를 제어하고 인터페이스 제어기(50)를 통해 사용자에게 센서 인식으로 인한 서비스 처리결과를 알린다. 즉, 추론엔진(30)은 쿼리 매니저(20)를 통해 온톨로지로부터 해당 사용자의 정책(보안 레벨, 기기 접근 레벨, 우선순위, 지능적 레벨)을 수집하고, 이를 토대로 디바이스 제어기(Device Controller)를 통해 기기를 제어하고 인터페이스 제어기(50)를 통해 센서 인식으로 인한 서비스 처리결과를 알린다. 이때, 기기 제어가 필요할 경우 디바이스 제어기로 해당 서비스에 대한 기기 제어 목록 및 Property를 전송하여 기기를 제어하게 된다.
이상에서는 쿼리를 통해 온톨로지(Ontology)에 접근하여 질의/응답하는 과정에 대해 살펴보았다. 이하에서는 데이터베이스(Database)에 접근하는 과정에 대해 살펴보기로 한다.
상황인지 지식서비스 시스템에서 이용하는 데이터베이스들은 모두 지식 레퍼지토리(10)에서 저장하고 관리하며, 이에 대한 접근은 모두 쿼리 매니저(20)의 상황정보 매니저(25)를 접근하게 된다. 이에 따라, 외부에서 데이터베이스로 접근하려할 경우 먼저 쿼리 매니저(20)로 저장할 데이터 형식을 쿼리 매니저 API(21)로 입력하게 된다. 이때, 입력된 데이터는 단순한 데이터베이스로의 접근이므로 바로 상황정보 매니저(25)로 전송된다. 이후에, 상황정보 매니저(25)로 전송된 데이터는 상황정보 매니저(25)에서 일반적인 데이터인지, 세션 데이터인지, 쿼리 데이터인지에 따라 분류되어 지식 레퍼지토리(10)로 전송된다. 전송 후, 이에 대한 응답이 리턴(Return)된다.
상기에서, 쿼리 매니저(20)에서 이용되는 온톨로지 모델링에 대한 예시를 하기의 [표 5]에 나타내었다.
Figure 112007084097267-pat00005
한편, 전술한 바와 같은 본 발명의 방법은 컴퓨터 프로그램으로 작성이 가능하다. 그리고 상기 프로그램을 구성하는 코드 및 코드 세그먼트는 당해 분야의 컴퓨터 프로그래머에 의하여 용이하게 추론될 수 있다. 또한, 상기 작성된 프로그램은 컴퓨터가 읽을 수 있는 기록매체(정보저장매체)에 저장되고, 컴퓨터에 의하여 판독되고 실행됨으로써 본 발명의 방법을 구현한다. 그리고 상기 기록매체는 컴퓨터가 판독할 수 있는 모든 형태의 기록매체를 포함한다.
이상에서 설명한 본 발명은, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다.
본 발명은 상황인지 지식서비스 등에 이용될 수 있다.
도 1은 본 발명이 적용되는 상황인지 지식서비스 시스템의 미들웨어 구성을 보여주는 일실시예 설명도,
도 2는 본 발명이 적용되는 상황인지 지식서비스 시스템의 일실시예 구성도,
도 3은 본 발명이 적용되는 상황인지 지식서비스 시스템의 동작 과정을 보여주는 일실시예 설명도,
도 4는 본 발명에 따른 상기 도 2의 쿼리 매니저의 일실시예 상세 구성도,
도 5는 본 발명에 따른 쿼리 매니저의 동작 과정을 보여주는 일실시예 설명도이다.
* 도면의 주요 부분에 대한 부호의 설명
10 : 지식 레퍼지토리 20 : 쿼리 매니저
30 : 추론엔진 40 : 세션 매니저
50 : 인터페이스/서비스 제어기 60 : 멀티모달 인터페이스(MMI)

Claims (9)

  1. 상황인지 지식서비스 시스템의 쿼리 관리 장치에 있어서,
    입력 데이터를 분류 및 분석하여 상기 입력 데이터가「쿼리를 이용한 지식기반 추론을 위해 지식레퍼지토리의 온톨로지에 접근하려는 쿼리 데이터」이면 쿼리 분석 수단으로 전달하고 상기 입력 데이터가「상기 지식레퍼지토리의 데이터베이스로 접근하려는 일반 데이터」이면 상황정보 관리 수단으로 전달하며, 출력 데이터를 전송할 모듈에 맞는 포맷으로 변환하여 전송하는 데이터 인터페이싱 수단;
    상기 데이터 인터페이싱 수단에서 전송된 쿼리 데이터를 쿼리의 종류에 따라 분류하고, 쿼리를 이용하여 응답받은 상기 출력 데이터를 외부에서 이용 가능하도록 분류하기 위한 상기 쿼리 분석 수단;
    쿼리의 종류별로 쿼리 포맷을 저장하고 있어, 상기 쿼리 분석수단에 의해 분류된 데이터에 맞는 쿼리 포맷을 선택하여 쿼리를 생성하기 위한 쿼리 생성 수단; 및
    상기 생성된 쿼리를 바탕으로 상기 지식 레퍼지토리의 온톨로지에 접근하여 서비스에서 요구되는 정보들을 질의하고 그 응답으로서 상기 출력 데이터를 반환받거나, 상기 데이터 인터페이싱 수단에서 전송된 일반 데이터를 바탕으로 상기 지식 레퍼지토리의 데이터베이스에 접근하여 응답 데이터를 반환받기 위한 상기 상황정보 관리 수단
    을 포함하는 상황인지 지식서비스를 위한 쿼리 관리 장치.
  2. 제1항에 있어서,
    상기 지식 레퍼지토리는,
    사용자 및 환경, 서비스와 시공간의 복합적 개념의 정보 및 사용자별 정책(보안 레벨, 기기 접근 레벨, 우선순위, 지능적 레벨)을 저장ㆍ관리하고 있는 온톨 로지(Ontology)와, 파일 데이터베이스, 임시 데이터베이스, 세션 데이터 테이블을 포함하는 데이터베이스(DB)를 포함하는 것을 특징으로 하는 상황인지 지식서비스를 위한 쿼리 관리 장치.
  3. 삭제
  4. 제1항 또는 제2항에 있어서,
    상기 전송할 모듈은,
    수집된 정보를 토대로 제공될 서비스를 추론하고, 정책에 따라 해당 사용자의 서비스 제공 여부 및 제공 수준을 동적으로 제어하는 추론엔진인 것을 특징으로 하는 상황인지 지식서비스를 위한 쿼리 관리 장치.
  5. 제4항에 있어서,
    상기 정책은,
    서비스 사용자들의 우선순위를 정하여 다중 사용자가 동일 공간에서 동일 서비스를 요청한 경우 사용자의 우선순위를 확인하여 우선순위가 높은 사용자에게 요청한 서비스를 제공하거나, 서비스 간의 우선순위를 정하여 일 사용자가 여러 서비스를 요청한 경우 해당 서비스의 우선순위에 따라 서비스를 제공하는 우선순위와,
    사용자 프라이버시 및 보안 강화를 위해 상황정보에 대한 차등적 보안레벨을 통해 사용자 정보의 공개 정도를 달리하는 보안 레벨과,
    사용자의 레벨과 연동하여 기기를 사용하고 제어 및 관리할 수 있는 등급을 적용하여 각각 다른 상황과 환경에 따라 레벨을 달리하는 기기 접근 레벨과,
    레벨에 따라 선호환경 서비스를 제공하는 지능적 레벨을 포함하는 것을 특징으로 하는 상황인지 지식서비스를 위한 쿼리 관리 장치.
  6. 쿼리 관리 장치의 쿼리 관리 방법에 있어서,
    지능형 서비스에서 요구되는 다양한 정보들을 수집하기 위한 쿼리의 포맷을 저장하고 있는 단계;
    서비스 및 정보 요청 모듈로부터 입력된 데이터를 「쿼리를 이용한 지식기반 추론을 위해 지식 레퍼지토리의 온톨로지에 접근하려는 쿼리 데이터」와 「상기 지식 레퍼지토리의 데이터베이스로 접근하려는 일반 데이터」로 분류하고, 상기 쿼리 데이터에 대해서는 쿼리의 종류에 따라 재분류하는 단계;
    쿼리 종류에 따라 재분류된 쿼리 데이터에 대하여 해당 데이터에 맞는 쿼리 포맷을 선택하여 쿼리를 생성하는 단계;
    상기 생성된 쿼리를 이용해 상기 지식 레퍼지토리의 온톨로지에 접근하여, 서비스에서 요구되는 정보들을 질의하고 그 응답으로서 출력 데이터를 반환받는 단계; 및
    상기 출력 데이터를 외부에서 이용 가능하도록 분류하여 상기 서비스 및 정보 요청 모듈로 전송하는 단계
    를 포함하는 상황인지 지식서비스를 위한 쿼리 관리 방법.
  7. 제6항에 있어서,
    상기 지식 레퍼지토리는,
    사용자 및 환경, 서비스와 시공간의 복합적 개념의 정보 및 사용자별 정책(보안 레벨, 기기 접근 레벨, 우선순위, 지능적 레벨)을 저장ㆍ관리하고 있는 온톨로지(Ontology)와, 파일 데이터베이스, 임시 데이터베이스, 세션 데이터 테이블을 포함하는 데이터베이스(DB)를 포함하는 것을 특징으로 하는 상황인지 지식서비스를 위한 쿼리 관리 방법.
  8. 제6항 또는 제7항에 있어서,
    상기 서비스 및 정보 요청 모듈로부터 입력된 데이터가 데이터베이스 접근용 일반 데이터인 경우, 쿼리의 생성없이, 상기 지식 레퍼지토리의 데이터베이스에 접근하여 그 응답으로서 출력 데이터를 반환받아, 상기 서비스 및 정보 요청 모듈로 전송하는 단계
    를 더 포함하는 상황인지 지식서비스를 위한 쿼리 관리 방법.
  9. 제8항에 있어서,
    상기 서비스 및 정보 요청 모듈은,
    수집된 정보를 토대로 제공될 서비스를 추론하고, 정책에 따라 해당 사용자의 서비스 제공 여부 및 제공 수준을 동적으로 제어하는 추론엔진인 것을 특징으로 하는 상황인지 지식서비스를 위한 쿼리 관리 방법.
KR1020070119712A 2007-11-22 2007-11-22 상황인지 지식서비스를 위한 쿼리 관리 장치 및 그 방법 KR100904147B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070119712A KR100904147B1 (ko) 2007-11-22 2007-11-22 상황인지 지식서비스를 위한 쿼리 관리 장치 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070119712A KR100904147B1 (ko) 2007-11-22 2007-11-22 상황인지 지식서비스를 위한 쿼리 관리 장치 및 그 방법

Publications (2)

Publication Number Publication Date
KR20090053069A KR20090053069A (ko) 2009-05-27
KR100904147B1 true KR100904147B1 (ko) 2009-06-24

Family

ID=40860634

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070119712A KR100904147B1 (ko) 2007-11-22 2007-11-22 상황인지 지식서비스를 위한 쿼리 관리 장치 및 그 방법

Country Status (1)

Country Link
KR (1) KR100904147B1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101709227B1 (ko) 2009-11-03 2017-02-22 삼성전자주식회사 휴대용 단말기에서 상황 정보 추론을 이용한 지능형 서비스 제공 방법 및 장치
KR102367858B1 (ko) * 2015-09-18 2022-02-25 주식회사 케이티 인텔리젼스 서비스 제공 방법 및 분산형 지능 시스템
KR101756196B1 (ko) 2016-03-23 2017-07-10 아주대학교산학협력단 요구 지원 수단 생성 장치 및 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070008990A (ko) * 2005-07-14 2007-01-18 주식회사 케이티 지식기반 홈네트워크에서 사용자 적응적 서비스 제공을위한 추론 장치
KR20070009134A (ko) * 2005-07-15 2007-01-18 주식회사 케이티 상황인지서비스를 위한 컨텍스트 정보관리 방법 및 그시스템
KR20070039785A (ko) * 2005-10-10 2007-04-13 한국정보통신대학교 산학협력단 온톨로지 기반의 상황정보 관리방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070008990A (ko) * 2005-07-14 2007-01-18 주식회사 케이티 지식기반 홈네트워크에서 사용자 적응적 서비스 제공을위한 추론 장치
KR20070009134A (ko) * 2005-07-15 2007-01-18 주식회사 케이티 상황인지서비스를 위한 컨텍스트 정보관리 방법 및 그시스템
KR20070039785A (ko) * 2005-10-10 2007-04-13 한국정보통신대학교 산학협력단 온톨로지 기반의 상황정보 관리방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
논문1 : 한국정보과학회*

Also Published As

Publication number Publication date
KR20090053069A (ko) 2009-05-27

Similar Documents

Publication Publication Date Title
KR101009638B1 (ko) 상황 적응적 서비스 제공을 위한 추론 장치 및 그 방법과그를 이용한 상황인지 지식서비스 시스템
Gu et al. An ontology-based context model in intelligent environments
Baldauf et al. A survey on context-aware systems
Ejigu et al. An ontology-based approach to context modeling and reasoning in pervasive computing
US20070038438A1 (en) Context knowledge modeling method for sharing and reusing context knowledge in context-aware system
Euzenat et al. Dynamic context management for pervasive applications
Wu et al. ScudWare: A semantic and adaptive middleware platform for smart vehicle space
Strimpakou et al. A context ontology for pervasive service provision
Ngo et al. Developing context-aware ubiquitous computing systems with a unified middleware framework
Van Nguyen et al. Context ontology implementation for smart home
KR20090000122A (ko) 커뮤니티 컴퓨팅 기반의 동적 서비스 조합 시스템
Bikakis et al. Rule-based contextual reasoning in ambient intelligence
KR20070008990A (ko) 지식기반 홈네트워크에서 사용자 적응적 서비스 제공을위한 추론 장치
Costa Towards a services platform for context-aware applications
KR20110078560A (ko) 온톨로지 기반 상황 인지 시스템 및 이를 이용한 서비스 제공방법
KR100904147B1 (ko) 상황인지 지식서비스를 위한 쿼리 관리 장치 및 그 방법
Wu et al. SmartShadow: models and methods for pervasive computing
Fides-Valero et al. The PERSONA framework for supporting context-awareness in open distributed systems
KR100811091B1 (ko) 지능형 홈네트워크 상황인지서비스 시스템 및 그 방법
KR20090053179A (ko) 상황인지 지식서비스를 위한 서비스 제어 장치 및 그 방법
KR20090053174A (ko) 상황인지 지식서비스를 위한 세션 관리 장치 및 그 방법
KR100839535B1 (ko) 다중 사용자 프로파일 기반 상황 적응적 서비스 구현을 위한 추론엔진 및 그 방법
KR101053894B1 (ko) 온톨로지를 이용한 장소성 기반 상황 정보 서비스 장치 및 방법
Leonardi et al. A flexible rule-based method for interlinking, integrating, and enriching user data
Pignotti et al. What does this device do?

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130603

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20140602

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee