KR101009638B1 - 상황 적응적 서비스 제공을 위한 추론 장치 및 그 방법과그를 이용한 상황인지 지식서비스 시스템 - Google Patents

상황 적응적 서비스 제공을 위한 추론 장치 및 그 방법과그를 이용한 상황인지 지식서비스 시스템 Download PDF

Info

Publication number
KR101009638B1
KR101009638B1 KR1020070119874A KR20070119874A KR101009638B1 KR 101009638 B1 KR101009638 B1 KR 101009638B1 KR 1020070119874 A KR1020070119874 A KR 1020070119874A KR 20070119874 A KR20070119874 A KR 20070119874A KR 101009638 B1 KR101009638 B1 KR 101009638B1
Authority
KR
South Korea
Prior art keywords
service
user
information
level
policy
Prior art date
Application number
KR1020070119874A
Other languages
English (en)
Other versions
KR20090053178A (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 KR1020070119874A priority Critical patent/KR101009638B1/ko
Publication of KR20090053178A publication Critical patent/KR20090053178A/ko
Application granted granted Critical
Publication of KR101009638B1 publication Critical patent/KR101009638B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/36Creation of semantic tools, e.g. ontology or thesauri
    • G06F16/367Ontology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing

Abstract

본 발명은 상황 적응적 서비스 제공을 위한 추론 장치 및 그 방법과 그를 이용한 상황인지 지식서비스 시스템에 관한 것으로, 유비쿼터스 환경에 기반한 홈네트워크 서비스에서 사용자에게 상황 적응적 맞춤형 서비스를 제공하기 위해 다양한 홈 상황정보(Context)와 사용자 프로파일(Profile) 등의 정보를 이용하여 서비스를 추론하기 위한 추론 장치 및 그 방법과, 그를 이용한 상황인지 지식서비스 시스템과, 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하고자 한다.
이를 위하여, 본 발명은 상황인지 지식서비스 시스템에 있어서, 사용자 및 환경, 서비스와 시공간의 복합적 개념의 정보 및 사용자별 정책(보안 레벨, 기기 접근 레벨, 우선순위, 지능적 레벨)을 저장ㆍ관리하고 있는 저장수단; 입력 데이터를 시스템 내부에서 이용할 수 있도록 파싱하여, 서비스 종류에 따라 분류하기 위한 인터페이스 제어수단; 상기 정책을 참조하여, 서비스 지역에서 사용자 간 또는 서비스 간 충돌 발생을 방지하기 위한 서비스 스케쥴링을 수행하기 위한 서비스 제어수단; 상기 서비스 스케쥴링에 따른 서비스 제공시, 사용자별 서비스 상태를 트랙킹하여 끊김없는 서비스를 제공하기 위한 세션 관리수단; 상기 저장수단으로부터 수집된 정보를 토대로 제공될 서비스를 추론하고, 상기 정책에 따라 해당 사용자의 서비스 제공 여부 및 제공 수준을 동적으로 제어하기 위한 추론수단; 및 상기 추론수단의 요청에 따라 쿼리를 생성하여 상기 저장수단에 질의하고 그 응답을 반환받 기 위한 쿼리 관리수단을 포함한다.
상황인지, 지식서비스, 추론엔진, 정책, 온톨로지

Description

상황 적응적 서비스 제공을 위한 추론 장치 및 그 방법과 그를 이용한 상황인지 지식서비스 시스템{Reasoning apparatus and method for user adaptive service and context-aware knowledge system using its}
본 발명은 상황 적응적 서비스 제공을 위한 추론 장치 및 그 방법과, 그를 이용한 상황인지(Context-Aware) 지식서비스 시스템 및 그 방법과, 상기 방법들을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것으로, 더욱 상세하게는 유비쿼터스 환경에 기반한 홈네트워크 서비스에서 사용자에게 상황 적응적 맞춤형 서비스를 제공하기 위해 다양한 홈 상황정보(Context)와 사용자 프로파일(Profile) 등의 정보를 이용하여 서비스를 추론하기 위한 추론 장치 및 그 방법과, 그를 이용한 상황인지 지식서비스 시스템과, 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것이다.
향후 유비쿼터스 시대의 응용 및 서비스는 컴퓨팅 및 커뮤니케이션 능력을 가진 스마트 객체들이 동적인 환경 변화를 인식하고 이에 적응할 수 있는 특성, 즉 상황인지(Context-Aware) 특성을 갖게 될 것이다. 상황정보(Context)는 사용자가 상호 작용을 하는 시점에 가용한 거의 모든 정보이다. 또한, 상황정보는 응용 운용 환경의 일부로 응용이 감지할 수 있는 정보를 포함한다. 이는 일반적으로 사람, 그룹, 객체의 위치, 식별, 활동, 상태 등을 포함한다. 상황인지 서비스는 이러한 상황정보의 수집 및 교환을 통해 인식하고, 해석 및 추론과 같은 처리 과정을 거쳐 사용자에게 상황에 적절한 서비스를 제공한다.
유비쿼터스 환경에서의 상황인지 서비스는 전체 유비쿼터스 서비스 집합 중에서 가장 크고 중요한 부분 집합을 차지하게 될 것이다. 또한, 상황인지 서비스는 가정, 의료, 교육, 재난ㆍ구호, 쇼핑 등 사회 전분야에 걸쳐 응용될 수 있어 사회 전반에 걸쳐 많은 영향을 줄 것이다.
특히, 유비쿼터스 환경에서의 고도화된 사용자 맞춤형 서비스 제공을 위해서는, 지능적이며 다양한 상황에 적응적인 컴퓨팅 기술이 필요하다. 또한, 다양한 장치들이 서로 정보를 교환, 공유할 수 있어야 하며, 사용자에게 최적의 서비스를 제공하기 위해 물리적 공간, 시간, 네트워크 환경, 각종 장치들을 유기적으로 결합하여 서비스를 제공하기 위한 상황인지(Context-Aware) 기술이 있어야 한다.
유비쿼터스 환경에서는 사용자의 이동이 세부적으로 고려되며, 사용자가 요구하는 서비스를 지능적으로 필요한 상황에서 알맞게 제공해야 한다. 이를 위해서는 사용자의 이동에 대해 인식하고 사용자 및 환경, 서비스 정보를 정책적으로 관리하는 것이 필요하다. 사용자가 요구하는 서비스가 증가할수록, 공간의 확대로 인해 다중 사용자 간의 공간 내에서의 서비스 충돌 및 보안 등의 문제점들이 증가된 다. 이를 해결하기 위해서는 이러한 서비스 및 사용자와 공간에 대한 정책을 정의함으로써 충돌에 대한 해결 및 서비스의 보안적 제공을 가능하도록 구성해야 한다.
특히, 추론엔진(Reasoning Engine)은 이러한 기능들을 기반으로 사용자의 프라이버시(Privacy), 기기 접근 레벨(Device Access Level), 보안 레벨(Security Level), 지능적 레벨(Intelligence Level) 등의 정책(Policy)을 적용하고, 이에 따라 기기에 대한 인증 및 정보의 차등적 제공과 보안 레벨에 따른 서비스 공유 및 제공이 가능하여야 한다. 또한, 사용자와 서비스, 공간, 디바이스에 상황정보(Context)를 기반으로 상황에 대한 맞춤형 서비스를 설정함으로써 상황인지(Context-Aware) 서비스가 가능하여야 한다. 또한, 우선순위(Priority) 등의 정책의 적용으로 다중 사용자의 서비스 요구에 대한 공간별, 서비스별 충돌 문제의 해결과 서비스의 효율적 제공이 가능하여야 한다. 또한, 기본적으로 저장된 사용자들의 프로파일(Profile)이나 이를 토대로 패턴화된 사용자들의 성향을 기반으로 추론된 결과와 상세하게 구현된 정책적 룰(Policy-Related Rule)의 다양한 적용에 따라, 사용자의 동적 이동 상황 및 환경정보 등에 따라 적용 레벨을 동적으로 조정하며 사용자들에게 적합하고 안전한 서비스를 제공하여야 한다.
본 발명은 다양한 정책 설정을 통한 상황적응적 서비스 제공이 가능한 추론엔진에 관한 것이며, 사용자 및 환경, 서비스와 시공간의 복합적 개념의 정보를 관리하는 온톨로지(Ontology)와 이를 기반으로 정보를 추출, 관리하는 쿼리(Query), 그리고 관계성의 재정립과 추론을 위한 서비스와 시스템의 정의를 내려주고 관리를 해주는 룰(Rule)을 중심으로 사용자의 맞춤형 서비스가 가능하도록 상황을 추론하 는 모듈이다.
추론 장치(Reasoning Engine)는 서비스 추론을 위해서 필요에 맞는 상황 추론과 각 룰(Rule) 간의 우선순위의 지정 및 적용에 대한 관리를 해주기 위한 기본적인 시스템 룰(System Rule)과 실질적인 지능적 서비스의 제공을 위해 다양한 정보로부터 추론을 하고 결과를 도출하기 위한 서비스 룰(Service Rule)을 기반으로 개발되어 있다.
하지만, 현재의 추론 장치(Reasoning Engine)에서 서비스 추론은, 단일 사용자에 대한 서비스에서도 다양한 서비스와 사용자의 이동성을 고려하기에는 처리 속도 및 안정성 문제를 통해 한계점을 지니고 있고, 기기들의 동작이나 효율적 관리를 통한 여러 서비스의 동시적인 제공을 위해서는 부족하다. 또한, 사용자로 하여금, 입력된 데이터에 대한 저장이나 삭제, 관리가 용이하지 못하다는 문제점을 가지고 있다. 따라서, 다중 가정, 다중 사용자를 위한 서비스 확장을 위해서는 사용자 및 서비스 간의 우선순위 등의 정책 설정을 통해 서비스 충돌을 해결하고, 필요에 맞는 상황추론을 위한 룰(Rule)의 구현이 필요하다. 그러나, 현재는 이러한 정책(Policy) 및 룰(Rule)의 정의가 제한적이고, 기본적 서비스에만 국한되어 있다.
따라서, 정책적 룰(Policy-Related Rule)을 보완, 설정함으로써 다양한 상황에서 적합한 서비스를 추론해야 한다. 또한, 사용자 및 서비스 우선순위(Priority)를 설정하여 동시적인 서비스에 적응할 수 있어야 하며, 사용자별 차등적 서비스 제공의 효율성을 위해 기기 접근 레벨(Device Access Level)이나 권한(Privilege), 인증(Authentication)과 같은 정책적 룰(Policy-Relayed Rule)의 구현이 필요하다. 또한, 사용자에게 제공될 정보에 대한 프라이버시 레벨(Privacy Level)을 두어, 그에 따라 동작기기를 달리 적용함으로써 현재의 기본적이고 제한적인 룰(Rule)이 가진 한계점을 보완해야 한다.
본 발명에서는 다양하고 효율적인 룰(Rule)을 구현함으로써 보다 상황에 적응적인 서비스 추론을 제공한다. 또한, 정책(Policy)에 대해 프라이버시(Privacy), 우선순위(Priority), 권한(Privilege)의 개념들을 체계화하고 각 상황에 동적으로 적용 가능하도록 구성하며, 지능적 레벨(Intelligence Level)을 포함하여 사용자가 지능형 서비스의 선호 환경을 설정할 수 있도록 한다. 또한, 다중 사용자가 서비스를 요청하는 경우, 또는 다중 사용자가 공간에 위치하는 것만으로도 요구되는 서비스가 존재하는 경우에는 서비스 제공에 대한 충돌 문제의 해결이 요구된다. 이에 따라, 충돌을 인식할 수 있도록 사용자 및 사용자의 위치, 사용자 주변 기기, 사용자의 우선순위 및 보안 레벨(Security Level)과 사용자가 사용 가능한 서비스 및 서비스에 대한 정보들을 읽어들여 각 관계성에 따라 정보를 추출하고 다른 정책적 룰(Policy-Related Rule)과 비교, 검사할 수 있는 추론엔진(Reasoning Engine)이 필요하다. 또한, 정책적인 룰(Rule)로서, 사용자 간의 우선순위(Priority), 공간의 소유권, 서비스 간의 우선순위, 기기 접근 레벨(Device Access Level), 기기 접근 레벨에 대한 이양 또는 권한 확대 및 축소, 사용자의 보안 레벨(Security Level) 및 서비스의 보안 레벨, 동적인 환경에서의 서비스에 대한 적용 레벨을 정의하고, 이를 통해 다양한 충돌 및 문제점을 해결하도록 구성한다. 그리고, 다양한 쿼리(Query)와 룰(Rule)의 구현에 따라 적용성을 높여 다중 사용자의 효율적 서비스 제공을 위한 정책적 관리 부분을 확대하고, 데이터 추론 기능과 추후 확장성을 증 대시킨다.
따라서, 본 발명은 유비쿼터스 환경에 기반한 홈네트워크 서비스에서 사용자에게 상황 적응적 맞춤형 서비스를 제공하기 위해 다양한 홈 상황정보(Context)와 사용자 프로파일(Profile) 등의 정보를 이용하여 서비스를 추론하기 위한 추론 장치 및 그 방법과, 그를 이용한 상황인지 지식서비스 시스템과, 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는데 그 목적이 있다.
본 발명의 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있으며, 본 발명의 실시예에 의해 보다 분명하게 알게 될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.
상기 목적을 달성하기 위한 본 발명은, 상황인지 지식서비스 시스템에 있어서, 사용자 및 환경, 서비스와 시공간의 복합적 개념의 정보 및 사용자별 정책(보안 레벨, 기기 접근 레벨, 우선순위, 지능적 레벨)을 저장ㆍ관리하고 있는 저장수단; 입력 데이터를 시스템 내부에서 이용할 수 있도록 파싱하여, 서비스 종류에 따라 분류하기 위한 인터페이스 제어수단; 상기 정책을 참조하여, 서비스 지역에서 사용자 간 또는 서비스 간 충돌 발생을 방지하기 위한 서비스 스케쥴링을 수행하기 위한 서비스 제어수단; 상기 서비스 스케쥴링에 따른 서비스 제공시, 사용자별 서비스 상태를 트랙킹하여 끊김없는 서비스를 제공하기 위한 세션 관리수단; 상기 저장수단으로부터 수집된 정보를 토대로 제공될 서비스를 추론하고, 상기 정책에 따라 해당 사용자의 서비스 제공 여부 및 제공 수준을 동적으로 제어하기 위한 추론수단; 및 상기 추론수단의 요청에 따라 쿼리를 생성하여 상기 저장수단에 질의하고 그 응답을 반환받기 위한 쿼리 관리수단을 포함하는 것을 특징으로 한다.
상기 목적을 달성하기 위한 본 발명은, 상황인지 지식서비스 시스템에서의 추론 장치에 있어서, 입력 데이터를 분류 및 분석하고, 추론 장치 내부에서 외부의 서비스 번들로 전송되는 데이터를 해당 형식에 맞게 변형하여 전송하는 데이터 관리 수단; 쿼리 매니저를 통해 온톨로지(Ontology)를 로드하여, 외부로부터 요청받은 서비스 및 정보에 대한 팩트(Fact)를 수집하여 재구성하는 룰 로딩 수단; 사용자별 서비스 및 정보에 대한 접근 권한(보안 레벨), 서비스 지능에 대한 수준(지능적 레벨), 사용자의 우선순위 및 서비스에서 제어 가능한 기기의 기기 접근 권한(기기 접근 레벨)에 관한 정책을 적용하는 정책 관리 수단; 및 상기 룰 로딩 수단으로부터 수집되어 들어온 정보를 토대로 서비스와 제공될 정보를 추론하고, 상기 정책 관리 수단에 의해 적용되는 정책에 따라 해당 사용자의 서비스 제공 여부 및 제공 수준을 동적으로 제어하는 추론 수단을 포함하는 것을 특징으로 한다.
상기 목적을 달성하기 위한 본 발명은, 추론엔진에서의 서비스 추론 방법에 있어서, 사용자별 서비스 및 정보에 대한 접근 권한(보안 레벨), 서비스 지능에 대 한 수준(지능적 레벨), 사용자의 우선순위 및 서비스에서 제어 가능한 기기의 기기 접근 권한(기기 접근 레벨)에 관한 정책을 정의하는 단계; 입력 데이터를 분류 및 분석하는 단계; 상기 입력 데이터가 기기제어 명령어인 경우, 인터페이스 제어기로부터 사용자 ID와 기기 이름을 입력받아, 이를 바탕으로 생성된 쿼리를 통해 온톨로지에 접근하는 단계; 상기 온톨로지로부터 해당 서비스에 대해 제어될 기기 및 표시될 정보를 수집하는 단계; 상기 정책 중 기기 접근 레벨을 바탕으로 기기의 제어 유무를 판단하는 단계; 및 상기 판단 결과, 사용 가능할 경우 디바이스 제어기로 기기제어 명령을 전송하고 그 제어 결과를 상기 인터페이스 제어기를 통해 알리는 단계를 포함하는 것을 특징으로 한다.
또한, 본 발명은, 상기 입력 데이터가 시스템 설정 명령어인 경우, 상기 인터페이스 제어기로부터 사용자 ID와 사용자가 설정한 정책을 입력받아, 사용자가 설정한 정책을 쿼리 매니저를 통해 상기 온톨로지에 업데이트하는 단계를 더 포함하는 것을 특징으로 한다.
한편, 본 발명은, 추론엔진에서의 서비스 추론 방법에 있어서, 사용자별 서비스 및 정보에 대한 접근 권한(보안 레벨), 서비스 지능에 대한 수준(지능적 레벨), 사용자의 우선순위 및 서비스에서 제어 가능한 기기의 기기 접근 권한(기기 접근 레벨)에 관한 정책을 정의하는 단계; 입력 데이터를 분류 및 분석하는 단계; 상기 입력 데이터가 정보 요청 메시지인 경우, 인터페이스 제어기로부터 사용자 ID, 쿼리 이름, 정보 이름을 입력받아, 이를 바탕으로 생성된 쿼리를 통해 온톨로지에 접근하는 단계; 상기 온톨로지로부터 사용자가 요청한 정보를 수집하는 단계; 및 상기 정책을 바탕으로, 상기 수집된 정보를 상기 인터페이스 제어기를 통해 전달하는 단계를 포함하는 것을 특징으로 한다.
다른 한편, 본 발명은, 추론엔진에서의 서비스 추론 방법에 있어서, 사용자별 서비스 및 정보에 대한 접근 권한(보안 레벨), 서비스 지능에 대한 수준(지능적 레벨), 사용자의 우선순위 및 서비스에서 제어 가능한 기기의 기기 접근 권한(기기 접근 레벨)에 관한 정책을 정의하는 단계; 입력 데이터를 분류 및 분석하는 단계; 상기 입력 데이터가 서비스 모드 명령어인 경우, 세션 매니저로부터 사용자 ID, 서비스 이름 및 서비스 상태를 입력받아, 이를 바탕으로 생성된 쿼리를 통해 온톨로지에 접근하는 단계; 상기 온톨로지로부터 해당 서비스에 대해 제어될 기기 및 표시될 정보를 수집하는 단계; 및 상기 정책을 바탕으로, 디바이스 제어기로 기기제어 명령을 전송하고 그 제어 결과를 인터페이스 제어기를 통해 전달하는 단계를 포함하는 것을 특징으로 한다.
또한, 본 발명은, 서비스 제어기가 인터페이스 제어기로부터 사용자 ID, 서비스 이름 및 서비스 상태를 입력받아, 상기 정책을 상기 추론엔진에 호출하여, 상기 정책을 참조해 서비스 스케쥴링을 수행하는 단계; 상기 서비스 스케쥴링을 통해 서비스가 결정되면, 상기 서비스 제어기가 사용자 ID와 서비스 정보(서비스 이름 및 서비스 상태)를 상기 세션 매니저로 전송하는 단계; 및 상기 세션 매니저가 사용자별 세션을 생성하고 서비스 상태 및 제공 여부를 결정하여, 사용자 ID, 서비스 이름 및 서비스 상태를 상기 추론엔진으로 전송하는 단계를 더 포함하는 것을 특징으로 한다.
또 다른 한편, 본 발명은, 추론엔진에서의 서비스 추론 방법에 있어서, 사용자별 서비스 및 정보에 대한 접근 권한(보안 레벨), 서비스 지능에 대한 수준(지능적 레벨), 사용자의 우선순위 및 서비스에서 제어 가능한 기기의 기기 접근 권한(기기 접근 레벨)에 관한 정책을 정의하는 단계; 입력 데이터를 분류 및 분석하는 단계; 상기 입력 데이터가 센서 입력 정보인 경우, 인터페이스 제어기로부터 사용자 ID, 센서 정보, 사용자 위치를 입력받아, 이를 바탕으로 생성된 쿼리를 통해 온톨로지에 접근하는 단계; 상기 온톨로지를 참조하여 해당 지역에서 수행해야 할 서비스를 결정하는 단계; 및 서비스 결정시, 서비스 제어기로 사용자 ID, 서비스 이름, 서비스 상태를 전달하고, 상기 서비스 제어기에서 서비스 충돌이 없다고 판단되면, 상기 정책을 바탕으로 디바이스 제어기로 기기제어 명령을 전송하고 그 제어 결과를 상기 인터페이스 제어기를 통해 전달하는 단계를 포함하는 것을 특징으로 한다.
또한, 본 발명은, 상기 서비스 제어기가 상기 추론엔진으로부터 사용자 ID, 서비스 이름 및 서비스 상태를 입력받아, 상기 정책을 상기 추론엔진에 호출하여, 상기 정책을 참조해 서비스 스케쥴링을 수행하는 단계; 상기 서비스 스케쥴링을 통해 서비스가 결정되면, 상기 서비스 제어기가 사용자 ID와 서비스 정보(서비스 이름 및 서비스 상태)를 상기 세션 매니저로 전송하는 단계; 및 상기 세션 매니저가 사용자별 세션을 생성하고 서비스 상태 및 제공 여부를 결정하여, 사용자 ID, 서비스 이름 및 서비스 상태를 상기 추론엔진으로 전송하는 단계를 더 포함하는 것을 특징으로 한다.
상기 목적을 달성하기 위한 본 발명은, 상황 적응적 서비스 제공을 위하여, 프로세서를 구비한 추론 장치에, 사용자별 서비스 및 정보에 대한 접근 권한(보안 레벨), 서비스 지능에 대한 수준(지능적 레벨), 사용자의 우선순위 및 서비스에서 제어 가능한 기기의 기기 접근 권한(기기 접근 레벨)에 관한 정책을 정의하는 기능; 입력 데이터를 분류 및 분석하는 기능; 상기 입력 데이터가 기기제어 명령어인 경우, 인터페이스 제어기로부터 사용자 ID와 기기 이름을 입력받아, 이를 바탕으로 생성된 쿼리를 통해 온톨로지에 접근하는 기능; 상기 온톨로지로부터 해당 서비스에 대해 제어될 기기 및 표시될 정보를 수집하는 기능; 상기 정책 중 기기 접근 레벨을 바탕으로 기기의 제어 유무를 판단하는 기능; 및 상기 판단 결과, 사용 가능할 경우 디바이스 제어기로 기기제어 명령을 전송하고 그 제어 결과를 상기 인터페이스 제어기를 통해 알리는 기능을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
한편, 본 발명은, 상황 적응적 서비스 제공을 위하여, 프로세서를 구비한 추론 장치에, 사용자별 서비스 및 정보에 대한 접근 권한(보안 레벨), 서비스 지능에 대한 수준(지능적 레벨), 사용자의 우선순위 및 서비스에서 제어 가능한 기기의 기기 접근 권한(기기 접근 레벨)에 관한 정책을 정의하는 기능; 입력 데이터를 분류 및 분석하는 기능; 상기 입력 데이터가 정보 요청 메시지인 경우, 인터페이스 제어기로부터 사용자 ID, 쿼리 이름, 정보 이름을 입력받아, 이를 바탕으로 생성된 쿼리를 통해 온톨로지에 접근하는 기능; 상기 온톨로지로부터 사용자가 요청한 정보를 수집하는 기능; 및 상기 정책을 바탕으로, 상기 수집된 정보를 상기 인터페이스 제어기를 통해 전달하는 기능을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
다른 한편, 본 발명은, 상황 적응적 서비스 제공을 위하여, 프로세서를 구비한 추론 장치에, 사용자별 서비스 및 정보에 대한 접근 권한(보안 레벨), 서비스 지능에 대한 수준(지능적 레벨), 사용자의 우선순위 및 서비스에서 제어 가능한 기기의 기기 접근 권한(기기 접근 레벨)에 관한 정책을 정의하는 기능; 입력 데이터를 분류 및 분석하는 기능; 상기 입력 데이터가 서비스 모드 명령어인 경우, 세션 매니저로부터 사용자 ID, 서비스 이름 및 서비스 상태를 입력받아, 이를 바탕으로 생성된 쿼리를 통해 온톨로지에 접근하는 기능; 상기 온톨로지로부터 해당 서비스에 대해 제어될 기기 및 표시될 정보를 수집하는 기능; 및 상기 정책을 바탕으로, 디바이스 제어기로 기기제어 명령을 전송하고 그 제어 결과를 인터페이스 제어기를 통해 전달하는 기능을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
또 다른 한편, 본 발명은, 상황 적응적 서비스 제공을 위하여, 프로세서를 구비한 추론 장치에, 사용자별 서비스 및 정보에 대한 접근 권한(보안 레벨), 서비스 지능에 대한 수준(지능적 레벨), 사용자의 우선순위 및 서비스에서 제어 가능한 기기의 기기 접근 권한(기기 접근 레벨)에 관한 정책을 정의하는 기능; 입력 데이터를 분류 및 분석하는 기능; 상기 입력 데이터가 센서 입력 정보인 경우, 인터페이스 제어기로부터 사용자 ID, 센서 정보, 사용자 위치를 입력받아, 이를 바탕으로 생성된 쿼리를 통해 온톨로지에 접근하는 기능; 상기 온톨로지를 참조하여 해당 지 역에서 수행해야 할 서비스를 결정하는 기능; 및 서비스 결정시, 서비스 제어기로 사용자 ID, 서비스 이름, 서비스 상태를 전달하고, 상기 서비스 제어기에서 서비스 충돌이 없다고 판단되면, 상기 정책을 바탕으로 디바이스 제어기로 기기제어 명령을 전송하고 그 제어 결과를 상기 인터페이스 제어수단을 통해 전달하는 기능을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
상기와 같은 본 발명은, 룰(Rule)의 정책적인 부분에 대한 체계적인 작성을 통해 추론엔진의 효율성과 확장성을 증대시킬 수 있는 효과가 있다.
또한, 본 발명은, 프라이버시(Privacy)에 따른 정보 및 서비스의 제공을 가능하게 함으로써 각 사용자에 대한 정보 유출 방지 및 관리, 서비스 제공에서도 사용자의 정보 및 상황에 알맞은 상황을 유추할 수 있어, 유비쿼터스 환경의 보안적 취약점을 보완함으로써 홈네트워크의 서비스 확장을 가능하게 하는 효과가 있다.
또한, 본 발명은 다양한 정책(Policy)을 적용함으로써 서비스의 충돌 상황에 대한 다양한 추론이 가능하며, 사용자에게 맞춤형 서비스를 구성 가능하게 하고, 서비스의 효율적 제공을 기대할 수 있는 이점이 있다. 그리고, 이러한 서비스를 바탕으로 동적 상황과 유비쿼터스 환경에서의 잦은 서비스 충돌 문제 발생과 사용자의 이동성을 고려하는 상황에서 적합하게 적용될 수 있는 장점이 있다.
상술한 목적, 특징 및 장점은 첨부된 도면을 참조하여 상세하게 후술되어 있는 상세한 설명을 통하여 보다 명확해 질 것이며, 그에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하기로 한다.
유비쿼터스 환경에서 고도화된 사용자 맞춤형 서비스 제공을 위해서는, 지능적이며 다양한 상황에 적응적인 컴퓨팅 기술이 필요하다. 또한, 다양한 장치들이 서로 정보를 교환, 공유할 수 있어야 하며, 사용자에게 최적의 서비스를 제공하기 위해 물리적 공간, 시간, 네트워크 환경, 각종 장치들을 유기적으로 결합하여 서비스를 제공하기 위한 상황인지 기술이 있어야 한다.
상황인지(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를 전송하여 기기를 제어하게 된다.
정리해보면, 본 발명에 따른 상황인지 지식서비스 시스템은, 사용자 및 환경, 서비스와 시공간의 복합적 개념의 정보 및 사용자별 정책(보안 레벨, 기기 접 근 레벨, 우선순위, 지능적 레벨)을 저장ㆍ관리하고 있는 지식 레퍼지토리(온톨로지)(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)를 통해 사용자에게 알린다.
이하에서는, 본 발명에 따른 추론 장치[추론엔진(Reasoning Engine)(30)]의 구성 및 동작에 대해 도 4 및 도 5를 참조하여 보다 상세하게 살펴보기로 한다.
추론엔진(Reasoning Engine)(30)은, 도 1에 도시된 바와 같이 OSGi 번들(Bundle) 형태로서 OSGi 프레임워크(Framework) 상에 인스톨(Install)되어 실행된다.
전술한 바와 같이, 추론엔진(30)은 사용자 및 환경, 서비스와 시공간의 복합적 개념의 정보를 관리하는 온톨로지로부터 정보를 추출, 관리하고. 서비스 번들로 해당 정보를 전송하는 역할을 담당한다. 또한, 다중 가정, 다중 사용자의 서비스 이용시, 사용자들의 성향이나, 프로파일(Profile), 패턴에 기반하여 상황을 추론하고, 사용자 이동에 따른 새로운 서비스 요청이나 서비스 명령시, 사용자 혹은 서비 스 간의 우선순위(Priority) 등의 정책 적용에 의한 서비스 제공 여부, 제공 수준에 따른 기기 제어신호 및 서비스 정보를 전송한다.
도 4에 도시된 바와 같이, 추론엔진(30)은 추론엔진 API(31), 데이터 매니저(Data Manager)(32), 룰 엔진(Rule Engine)(33), 정책 매니저(Policy Manager)(34), 리즈너(Reasoner)(35)로 구성된다.
이를 구체적으로 살펴보면, 본 발명에 따른 상황인지 지식서비스를 위한 추론엔진(30)은, 입력 데이터를 분류 및 분석하고, 추론엔진(30) 내부에서 외부의 서비스 번들로 전송되는 데이터를 해당 형식에 맞게 변형하여 전송하는 데이터 매니저(32)와, 쿼리 매니저(20)를 통해 온톨로지(Ontology)를 로드하여, 외부로부터 요청받은 서비스 및 정보에 대한 팩트(Fact)를 수집하여 재구성하는 룰 엔진(33)과, 사용자별 서비스 및 정보에 대한 접근 권한(보안 레벨), 서비스 지능에 대한 수준(지능적 레벨), 사용자의 우선순위 및 서비스에서 제어 가능한 기기의 기기 접근 권한(기기 접근 레벨)에 관한 정책을 적용하는 정책 매니저(34)와, 룰 엔진(33)으로부터 수집되어 들어온 정보를 토대로 서비스와 제공될 정보를 추론하고, 정책 매니저(34)에 의해 적용되는 정책에 따라 해당 사용자의 서비스 제공 여부 및 제공 수준을 동적으로 제어하는 리즈너(35)를 포함한다.
상기와 같은 구성을 갖는 본 발명에 따른 추론엔진(30)의 각 구성요소들의 기능을 보다 구체적으로 살펴보면 다음과 같다.
데이터 매니저(Data Manager)(32)는 추론엔진(30)으로 전송되는 데이터를 분류하고 분석하며, 추론엔진(30) 내부에서 외부의 모듈로 전송되는 데이터를 전송할 모듈에 맞는 형식(Format)으로 변형하여 전송한다.
룰 엔진(Rule Engine)(33)은 쿼리 매니저(20)로 접속하여 객체 지향 DB인 온톨로지(Ontology)를 로드(Load)하여 외부로부터 요청받은 서비스/정보에 대한 팩트(Fact)를 수집하고 그에 따라 적절한 형태로 정보를 재구성한다.
리즈너(Reasoner)(35)는 룰 엔진(Rule Engine)(33)으로부터 수집되어 들어온 정보를 토대로 서비스와 제공될 정보를 추론하고, 또한 정보에 대한 사용자 접근 권한 및 우선순위 등을 적용하여 정책적인 서비스가 가능하게 한다. 이때, 해당 정책들은 정책 매니저(Policy Manager)(34)를 통해 얻게 되는데, 적용되는 정책들로는 보안 레벨(Security Level), 지능적 레벨(Intelligence Level)(하기의 [표 4] 참조), 사용자 우선순위(User Priority)(하기의 [표 1] 및 [표 2] 참조), 기기 접근 레벨(Device Access Level)(하기의 [표 3] 참조) 등이 있다.
상기 데이터 매니저(32)는 외부 데이터를 전송받아 분류(Parsing)하여 룰엔진(33), 리즈너(35)로 전송하는 데이터 리스너(Data Listener), 내부 데이터를 외부(쿼리 매니저(20))로 전송할 경우 변환(Formatting)하는 데이터 변환기(Data Formatter)로 구성된다.
또한, 상기 룰 엔진(33)은 지식 레퍼지토리(10)에서 필요한 데이터를 얻기 위해, 쿼리 매니저(20)로 접속하여 쿼리(Query)를 생성하도록 하는 온톨로지 로더(Ontology Loader), 지식 레퍼지토리(10)에서 필요한 정보를 수집하는 팩트 수집 모듈(Fact Gathering), 쿼리 매니저(20)를 통해 온톨로지(Ontology)의 업데이트/저장/삭제 등의 관리를 수행하는 온톨로지 정보 매니저(Ontology Info Manager)로 구 성된다.
또한, 상기 정책 매니저(34)는 사용자별 서비스 및 정보에 대한 접근 권한을 정의한 보안 정책(Security Policy), 사용자가 서비스 지능에 대한 수준을 제어함으로써 서비스가 자동적으로 사용자에게 제공하는 레벨(Level)을 정의한 지능적 정책(Intelligence Policy), 상황인지 시스템의 세부 설정을 정의한 시스템 정책(System Policy), 사용자의 우선순위(Priority) 및 서비스에서 제어 가능한 기기의 기기 접근 레벨(Device Access Level)을 정의한 사용자/서비스 정책(User/ Service Policy)을 구비한다.
또한, 상기 리즈너(35)는 정보를 분석하는 팩트 분석기(Fact Analyzer), 분석한 정보에 정책(Policy)을 적용하여 정보를 필터링(Filtering)하는 정책 팩토리(Policy Factory), 분석된 정보를 토대로 사용자가 요청한 정보를 추론하는 정보 리즈너(Information Reasoner), 분석된 정보를 토대로 사용자에게 제공될 서비스를 추론하는 서비스 리즈너(Service Reasoner)로 구성된다.
사용자의 서비스 이용시, 추론엔진(30)의 동작 과정은 도 5와 같다.
도 5에 도시된 바와 같이, 추론엔진(Reasoning Engine)(30)으로의 입력은 크게 4가지 종류가 있다. 즉, 인터페이스 제어기(50)로부터 입력되는 사용자 명령어(기기제어, 시스템 설정) 입력[즉, 기기제어의 경우 사용자 ID 및 기기 이름(Device Name)이 입력되고, 시스템 설정의 경우 사용자 ID 및 사용자가 설정한 정책(우선순위, 기기 접근 레벨, 보안 레벨, 지능적 레벨)이 입력됨]과, 세션 매니저(40)로부터 입력되는 사용자 명령어(서비스 모드) 입력[즉, 사용자 ID, 서비스 이름(Service Name), 서비스 상태(Service State)가 입력됨]과, 인터페이스 제어기(50)로부터 입력되는 사용자의 정보(프로파일, 스케쥴, 댁내 환경 정보 등) 요청 입력[즉, 사용자 ID, 쿼리 이름(Query Name), 정보 이름(Information Name)]과, 그리고 서비스 지역(Spot)에 위치한 센서로부터 들어오는 입력[즉, 사용자 ID, 사용자 위치(User Location), 센서 정보(Sensor Info)가 입력됨] 등이 있다.
각각의 입력에 대한 추론엔진(30)의 동작은 다음과 같다.
사용자가 자신의 PDA, 핸드폰 등의 사용자 단말 또는 댁내의 월패드(Wallpad), 홈패드(Homepad), 인터넷(Internet) 등을 통해 기기제어 명령을 내린 경우, 추론엔진(30)은 기기제어 명령에 대한 적절성 여부를 판단하고, 해당 서비스를 제공하기 위한 동작을 수행하게 된다. 즉, 추론엔진(30)은 사용자 ID와 기기 이름(Device Name)을 인터페이스 제어기(50)로부터 입력받아, 입력된 정보(사용자 ID, 기기 이름)를 토대로 쿼리 매니저(20)로 입력값을 넘겨주고, 쿼리 매니저(20)가 이를 토대로 쿼리(Query)를 생성하여 온토롤지에 기기 접근 레벨(사용자 ID를 바탕으로 해당 사용자의 기기 접근 레벨을 가져옴)을 요청해서 그 결과를 반환받아 추론엔진(30)으로 전달하면, 추론엔진(30)에서는 수집된 정보(정책 중 사용자 기기 접근 레벨)를 바탕으로 기기의 제어 유무를 판단하여, 사용 가능할 경우 디바이스 제어기로 제어명령(온/오프)을 전송하고, 그 처리 결과를 인터페이스 제어기(50)를 통해 사용자에게 알린다.
또한, 사용자가 자신의 PDA, 핸드폰 등의 사용자 단말 또는 댁내의 월패드(Wallpad), 홈패드(Homepad), 인터넷(Internet) 등을 통해 시스템 설정 명령을 내린 경우, 추론엔진(30)에서는 시스템 설정 명령에 대한 적절성 여부를 판단하고, 해당 서비스를 제공하기 위한 동작을 수행하게 된다. 즉, 추론엔진(30)은 인터페이스 제어기(50)로부터 사용자 ID와 사용자가 설정한 정책(보안 레벨, 기기 접근 레벨, 우선순위, 지능적 레벨)을 입력받아, 사용자가 설정한 정책을 쿼리 매니저(20)를 통해 지식 레퍼지토리(온톨로지)(10)에 업데이트한다. 이때, 온톨로지 업데이트 결과는 인터페이스 제어기(50)를 통해 사용자에게 알린다.
또한, 사용자가 자신의 PDA, 핸드폰 등의 사용자 단말 또는 댁내의 월패드(Wallpad), 홈패드(Homepad), 인터넷(Internet) 등을 통해 서비스 모드 명령을 내린 경우, 추론엔진(30)에서는 서비스 모드 명령에 대한 적절성 여부를 판단하고, 해당 서비스를 제공하기 위한 동작을 수행하게 된다. 즉, 추론엔진(30)은 세션 매니저(40)로부터 사용자 ID, 서비스 이름(Service Name), 서비스 상태(Service State)가 변수값으로 입력되면, 입력된 정보를 룰 엔진(Rule Engine)에서 쿼리 매니저(20)를 통해 온톨로지(Ontology)로 업데이트하고, 업데이트된 온톨로지(Ontology)로 쿼리(Query)를 전송하여 해당 서비스에 대해 제어될 기기 및 표시될 정보를 수집하게 된다[추론엔진(30)이 쿼리 매니저(20)를 통해 온톨로지를 업데이트하고 업데이트된 온톨로지로부터 정보를 수집하게 됨]. 이때, 수집된 정보는 다양한 정책(보안 레벨, 기기 접근 레벨, 우선순위, 지능적 레벨)을 이용하여 필터링(Filtering)되고, 이러한 정책 정보(보안 레벨, 기기 접근 레벨, 우선순위, 지능적 레벨)를 토대로 서비스 및 정보를 결정하고 디바이스 제어기 및 인터페이스 제어기(50)에서 이용 가능한 값으로 분류(Parsing)되어 전달된다.
한편, 사용자 단말, Homepad/Wallpad, 인터넷 등을 통해 사용자가 다른 사용자나 서비스 지역에 대한 정보(예로서, 댁내의 환경정보, 스케쥴 등)를 요청한 경우, 추론엔진(30)에서는 입력된 정보[사용자 ID, 쿼리 이름, 정보 이름]를 검토한 후[이때, 보안 레벨 및 기기 접근 레벨에 따라 입력에 대한 적절성 여부를 검토함], 해당 서비스를 제공하기 위한 동작을 수행하게 된다. 즉, 인터페이스 제어기(50)로부터 사용자 ID, 쿼리 이름(Query Name), 정보 이름(Information Name)이 변수값으로 추론엔진(30)의 데이터 매니저(32)의 데이터 리스너(Data Listener)로 입력되고, 입력된 정보는 룰 엔진(33)에서 쿼리 매니저(20)를 통해 온톨로지로 업데이트되고, 업데이트된 온톨로지로 쿼리를 전송하여 해당 사용자가 요청한 정보를 수집하게 된다.
즉, 추론엔진(30)은 해당 정책을 적용하기 위해 쿼리 매니저(Query Manager)(20)로 데이터(사용자 ID, 쿼리 이름, 정보 이름을 포함하는 정보 요청 메시지)를 전송하며, 쿼리 매니저(20)는 이를 토대로 적절한 쿼리(Query)를 생성하고 생성된 쿼리를 지식 레퍼지토리(10)의 온톨로지(Ontology)로 전송하여 정보를 얻은 후, 다시 추론엔진(30)으로 전송한다. 이후, 시스템에서 제공할 정보는 인터페이스 제어기(Interface Controller)(50)를 통해 사용자에게 전송된다. 즉, 정보 요청의 경우, 쿼리 매니저(20)는 추론엔진(30)에서 요청하는 사용자가 요청한 정보를 온톨로지에서 가져와 추론엔진(30)으로 전송한다. 그러면, 추론엔진(30)은 사용자가 요청한 정보를 수집하여 정책(보안레벨, 우선순위)에 따라 정보를 결정하여, 인터페이스 제어기(50)를 통해 사용자에게 전송한다.
다른 한편, 사용자의 위치가 변하거나, 서비스 지역의 상태가 변하였을 때, 센서가 이를 감지하여 센서 정보를 전송하면, 인터페이스 제어기(50)가 이를 받아 추론엔진(30)으로 전송해준다. 이후, 추론엔진(30)에서는 센서정보를 통해 서비스를 추론하여 지능적으로 서비스를 제공하게 된다. 즉, 추론엔진(30)에서는 인터페이스 제어기(50)로부터 사용자 ID, 센서 정보(Sensor Info), 사용자 위치(User Location)가 변수값으로 추론엔진(30)의 데이터 리스너(Data Listener)로 입력되면, 입력된 정보를 룰 엔진(33)에서 쿼리 매니저(20)를 통해 온톨로지로 업데이트하고, 업데이트된 온톨로지로 쿼리(Query)를 전송하여 해당 위치의 사용자를 추론하고 다시 그 사용자에게 제공될 서비스에 대한 제어기기 정보를 수집하게 된다. 이러한 기기정보에 정책(보안 레벨, 기기 접근 레벨, 우선순위, 지능적 레벨)을 적용하여 다시 필터링(Filtering)한 후 서비스를 결정하여 인터페이스 제어기(50)로 분류(Parsing)하여 리턴시킨다. 이후, 인터페이스 제어기(50)는 이를 기기를 제어하는 디바이스 제어기(Device Controller)로 전송한다.
이러한 과정을 보다 구체적으로 살펴보면, 각각의 서비스 지역(예로서, 거실, 안방, 현관 등)에 위치한 센서에서 사용자를 감지할 경우[즉, 사용자의 위치가 변하거나 서비스 지역의 상태가 변하는 경우 등], 해당 센서는 인터페이스 제어기(50)로 센서 정보(센서의 위치 좌표 정보)를 전송하고, 인터페이스 제어기(50)는 센서로부터 전송된 데이터(센서 정보)가 중복되거나 손상되었을 경우 이를 필터링(Filtering)한 후, 추론엔진(30)의 API(31)로 데이터[즉, 사용자 ID, 센서 데이터, 사용자 위치]를 전송한다.
이후, 추론엔진(30)은 센서 정보를 참조하여 해당 지역(예로서, 거실, 안방, 현관 등)에서 어떤 서비스를 제공할지에 대한 결정을 내린다. 이때, 서비스의 결정은 지식 레퍼지토리(10)의 온톨로지(Ontology)를 참조하여 결정하게 되는데, 추론엔진(30)은 입력된 센서 정보를 검토한 후 해당 정책을 적용하기 위해 쿼리 매니저(20)로 데이터를 전송하고, 쿼리 매니저(20)는 적절한 쿼리(Query)를 생성한 후 생성된 쿼리를 지식 레퍼지토리(10)의 온톨로지(Ontology)로 전송하여 정보를 얻은 후, 다시 추론엔진(30)으로 전송한다. 이때, 추론엔진(30)은 센서의 위치를 기반으로 사용자의 위치를 추론하게 되고, 해당 사용자에게 제공될 서비스에 대한 제어기기 정보를 수집하게 된다.
이후에, 추론엔진(30)은 서비스가 결정되면 해당 서비스 정보[사용자 ID, 서비스 이름(선호환경 서비스), 서비스 상태값(사용자의 위치가 포함)]를 서비스 제어기(50)로 전송한다. 이후, 서비스 제어기(50)는 해당 서비스에 대한 등록 여부 및 구성, 스케쥴링에 대하여 서비스 제공 적절성 여부를 검사한 후, 세션 매니저(40)로 데이터(사용자 ID, 서비스 이름, 서비스 상태)를 전송하여, 해당 세션에 사용자와 서비스 상태 정보를 등록시키게 된다.
여기서, 서비스에 대한 적절성 여부가 결정되면, 서비스 제어기(50)는 서비스 제공을 위한 정보[즉, 사용자 ID와 서비스 정보(서비스 이름 및 상태)]를 세션 매니저(40)로 전송하고, 세션 매니저(40)는 사용자별 세션을 생성하고, 서비스 상태 및 제공 여부를 결정하여 추론엔진(30)으로 전송한다.
다음으로, 추론엔진(30)은 입력된 서비스 및 정보를 검토한 후 해당 정책을 적용하기 위해 쿼리 매니저(20)로 데이터를 전송한다. 그러면, 쿼리 매니저(20)는 적절한 쿼리(Query)를 생성하고, 생성된 쿼리를 지식 레퍼지토리(10)의 온톨로지(Ontology)로 전송하여 정보를 얻은 후[상황정보 매니저의 역할], 다시 추론엔진(30)으로 전송한다. 이후에, 추론엔진(30)은 서비스 및 제어될 기기가 결정되면 해당 데이터(기기제어 정보)를 디바이스 제어기(Device Controller)로 전송하여 기기를 제어하고 인터페이스 제어기(50)를 통해 사용자에게 센서 인식으로 인한 서비스 처리결과를 알린다.
즉, 추론엔진(30)은 쿼리 매니저(20)를 통해 온톨로지로부터 해당 사용자의 정책(보안 레벨, 기기 접근 레벨, 우선순위, 지능적 레벨)을 수집하고, 이를 토대로 디바이스 제어기(Device Controller)를 통해 기기를 제어하고 인터페이스 제어기(50)를 통해 센서 인식으로 인한 서비스 처리결과를 알린다.
상기에서, 추론엔진(30)에 적용되는 정책(보안 레벨, 기기 접근 레벨, 우선순위, 지능적 레벨)을 보다 구체적으로 살펴보면 다음과 같다.
우선순위(Priority)는 사용자 우선순위(User Priority)(하기의 [표 1] 참조)와 태스크 우선순위(Task Priority)(하기의 [표 2] 참조)로 구분된다.
사용자 우선순위(User Priority)는 하기의 [표 1]와 같이, 서비스 사용자들의 우선순위를 정하여 두 명 이상의 사용자가 같은 공간에서 같은 서비스를 요청하였을 경우, 사용자의 우선순위를 확인하여 우선순위가 높은 사용자에게 요청한 서비스를 제공하도록 한다.
Figure 112007084178795-pat00001
또한, 태스크 우선순위(Task Priority)는 하기의 [표 2]와 같이, 서비스들간의 우선순위에 대한 것으로, 사용자가 여러 서비스를 요청하였을 경우, 해당 서비스의 우선순위에 따라 서비스를 제공하도록 한다.
Figure 112007084178795-pat00002
한편, 보안 레벨(Security Level)은 사용자 프라이버시(Privacy) 및 보안 강화를 위해 상황정보(Context)에 대한 차등적 보안레벨을 적용하는 것이다. 이 보안 레벨(Security Level)에 따라 사용자 정보(기본 정보 및 스케쥴)의 공개 정도가 달라지게 된다.
다른 한편, 기기 접근 레벨(Device Access Level)은 하기의 [표 3]과 같이, 사용자의 레벨과 연동하여 기기(Device)를 사용하고 제어 및 관리할 수 있는 등급을 적용하여 각기 다른 상황과 환경에 따라 레벨이 달라진다.
Figure 112007084178795-pat00003
또 다른 한편, 지능적 레벨(Intelligence Level)은 하기의 [표 4]와 같이, 선호환경 서비스 제공을 위해 사용된다. 따라서, 사용자 각자의 지능적 레벨(Intelligence Level)을 확인하여 레벨에 따라 선호 환경 서비스를 제공하게 된다.
Figure 112007084178795-pat00004
한편, 전술한 바와 같은 본 발명의 방법은 컴퓨터 프로그램으로 작성이 가능하다. 그리고 상기 프로그램을 구성하는 코드 및 코드 세그먼트는 당해 분야의 컴퓨터 프로그래머에 의하여 용이하게 추론될 수 있다. 또한, 상기 작성된 프로그램은 컴퓨터가 읽을 수 있는 기록매체(정보저장매체)에 저장되고, 컴퓨터에 의하여 판독되고 실행됨으로써 본 발명의 방법을 구현한다. 그리고 상기 기록매체는 컴퓨터가 판독할 수 있는 모든 형태의 기록매체를 포함한다.
이상에서 설명한 본 발명은, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다.
본 발명은 상황인지 지식서비스 등에 이용될 수 있다.
도 1은 본 발명에 따른 상황인지 지식서비스 시스템의 미들웨어 구성을 보여주는 일실시예 설명도,
도 2는 본 발명에 따른 상황인지 지식서비스 시스템의 일실시예 구성도,
도 3은 본 발명에 따른 상황인지 지식서비스 시스템의 동작 과정을 보여주는 일실시예 설명도,
도 4는 본 발명에 따른 상기 도 2의 추론엔진의 일실시예 상세 구성도,
도 5는 본 발명에 따른 추론 장치의 동작 과정을 보여주는 일실시예 설명도이다.
* 도면의 주요 부분에 대한 부호의 설명
10 : 지식 레퍼지토리 20 : 쿼리 매니저
30 : 추론엔진 40 : 세션 매니저
50 : 인터페이스/서비스 제어기 60 : 멀티모달 인터페이스(MMI)

Claims (27)

  1. 상황인지 지식서비스 시스템에 있어서,
    보안 레벨, 기기 접근 레벨, 우선순위, 지능적 레벨 중 하나 이상을 포함하는 사용자별 정책, 서비스 정보 및 환경 정보를 저장ㆍ관리하고 있는 저장수단;
    입력 데이터를 시스템 내부에서 이용할 수 있도록 파싱하여, 서비스 종류에 따라 분류하기 위한 인터페이스 제어수단;
    상기 정책을 참조하여, 서비스 지역에서 사용자 간 또는 서비스 간 충돌 발생을 방지하기 위한 서비스 스케쥴링을 수행하기 위한 서비스 제어수단;
    상기 서비스 스케쥴링에 따른 서비스 제공시, 사용자별 서비스 상태를 트랙킹하여 끊김없는 서비스를 제공하기 위한 세션 관리수단;
    상기 저장수단으로부터 수집된 정보를 토대로 제공될 서비스를 추론하고, 상기 정책에 따라 해당 사용자의 서비스 제공 여부 및 제공 수준을 동적으로 제어하기 위한 추론수단; 및
    상기 추론수단의 요청에 따라 쿼리를 생성하여 상기 저장수단에 질의하고 그 응답을 반환받기 위한 쿼리 관리수단
    을 포함하는 상황인지 지식서비스 시스템.
  2. 제1항에 있어서,
    상기 세션 관리수단은,
    사용자와 서비스의 상태를 저장하여, 서비스를 시작할 경우 세션을 등록하고, 서비스가 종료될 경우 최종 상태를 저장하여, 다음에 서비스를 요청하면 최종 상태를 알려주어 서비스의 최종 상태에서부터 끊김없는 서비스를 제공할 수 있는 것을 특징으로 하는 상황인지 지식서비스 시스템.
  3. 제1항에 있어서,
    상기 입력 데이터는,
    기기제어, 서비스 모드, 시스템 설정을 포함하는 사용자 명령어, 정보 요청 메시지, 센서 입력 정보 중 어느 하나인 것을 특징으로 하는 상황인지 지식서비스 시스템.
  4. 제3항에 있어서,
    상기 서비스 제어수단은,
    상기 입력 데이터가 서비스 모드 명령어 및 센서 입력 정보인 경우, 상기 정책을 상기 추론수단에 호출하여, 상기 정책을 참조하여 상기 서비스 스케쥴링을 수행하는 것을 특징으로 하는 상황인지 지식서비스 시스템.
  5. 제3항에 있어서,
    상기 추론수단은,
    상기 입력 데이터가 기기제어 명령어인 경우, 상기 인터페이스 제어수단으로부터 사용자 ID와 기기 이름을 입력받아, 이를 바탕으로 생성된 쿼리를 통해 해당 서비스에 대해 제어될 기기 및 표시될 정보를 수집하여, 상기 정책 중 기기 접근 레벨을 바탕으로 기기의 제어 유무를 판단하고, 사용 가능할 경우 디바이스 제어기로 기기제어 명령을 전송하고 그 제어 결과를 상기 인터페이스 제어수단을 통해 전달하는 것을 특징으로 하는 상황인지 지식서비스 시스템.
  6. 제3항에 있어서,
    상기 추론수단은,
    상기 입력 데이터가 시스템 설정 명령어인 경우, 상기 인터페이스 제어수단으로부터 사용자 ID와 사용자가 설정한 정책을 입력받아, 사용자가 설정한 정책을 상기 쿼리 관리수단을 통해 상기 저장수단에 업데이트하는 것을 특징으로 하는 상황인지 지식서비스 시스템.
  7. 제3항에 있어서,
    상기 추론수단은,
    상기 입력 데이터가 정보 요청 메시지인 경우, 상기 인터페이스 제어수단으로부터 사용자 ID, 쿼리 이름, 정보 이름을 입력받아, 이를 바탕으로 생성된 쿼리를 통해 상기 저장수단으로부터 사용자가 요청한 정보를 수집하여, 상기 정책을 토대로 상기 인터페이스 제어수단을 통해 전달하는 것을 특징으로 하는 상황인지 지식서비스 시스템.
  8. 제3항에 있어서,
    상기 추론수단은,
    상기 입력 데이터가 서비스 모드 명령어인 경우, 상기 세션 관리수단으로부터 사용자 ID, 서비스 이름 및 서비스 상태를 입력받아, 상기 쿼리 관리수단을 통해 해당 서비스에 대해 제어될 기기 및 표시될 정보를 수집하여, 상기 정책을 토대로 디바이스 제어기로 기기제어 명령을 전송하고 그 제어 결과를 상기 인터페이스 제어수단을 통해 전달하는 것을 특징으로 하는 상황인지 지식서비스 시스템.
  9. 제3항에 있어서,
    상기 추론수단은,
    상기 입력 데이터가 센서 입력 정보인 경우, 센서의 위치를 기반으로 사용자 의 위치를 추론하고 해당 사용자에게 제공될 서비스에 대한 제어기기 정보를 수집한 후, 상기 서비스 제어수단으로 사용자 ID, 서비스 이름, 서비스 상태를 전달하여, 상기 서비스 제어수단에서 서비스 충돌이 없다고 판단되면, 상기 정책을 바탕으로 디바이스 제어기로 기기제어 명령을 전송하고 그 제어 결과를 상기 인터페이스 제어수단을 통해 전달하는 것을 특징으로 하는 상황인지 지식서비스 시스템.
  10. 제1항 내지 제9항 중 어느 한 항에 있어서,
    상기 정책의 우선순위는,
    다중 사용자가 동일 공간에서 동일 서비스를 요청한 경우 우선순위가 높은 사용자에게 요청한 서비스를 제공하기 위한 사용자 우선순위 및 일 사용자가 여러 서비스를 요청한 경우 해당 서비스의 우선순위에 따라 서비스를 제공하기 위한 태스크 우선순위를 포함하는 것을 특징으로 하는 상황인지 지식서비스 시스템.
  11. 제1항 내지 제9항 중 어느 한 항에 있어서,
    상기 정책의 보안 레벨은,
    사용자 프라이버시 및 보안 강화를 위해 사용자 정보의 공개 정도를 달리하기 위한, 상황정보에 대한 차등적 레벨인 것을 특징으로 하는 상황인지 지식서비스 시스템.
  12. 제1항 내지 제9항 중 어느 한 항에 있어서,
    상기 정책의 기기 접근 레벨은,
    사용자의 레벨과 연동되어, 각각 다른 상황과 환경에 따라 기기를 사용하고 제어 및 관리할 수 있도록 하기 위한 레벨인 것을 특징으로 하는 상황인지 지식서비스 시스템.
  13. 제1항 내지 제9항 중 어느 한 항에 있어서,
    상기 정책의 지능적 레벨은,
    사용자에 따라 선호환경 서비스를 제공하기 위한 레벨인 것을 특징으로 하는 상황인지 지식서비스 시스템.
  14. 상황인지 지식서비스 시스템에서의 추론 장치에 있어서,
    입력 데이터를 분류 및 분석하고, 추론 장치 내부에서 외부의 서비스 번들로 전송되는 데이터를 해당 형식에 맞게 변형하여 전송하는 데이터 관리 수단;
    쿼리 매니저를 통해 온톨로지(Ontology)를 로드하여, 외부로부터 요청받은 서비스 및 정보에 대한 팩트(Fact)를 수집하여 재구성하는 룰 로딩 수단;
    사용자별 서비스 및 정보에 대한 접근 권한(보안 레벨), 서비스 지능에 대한 수준(지능적 레벨), 사용자의 우선순위 및 서비스에서 제어 가능한 기기의 기기 접근 권한(기기 접근 레벨)에 관한 정책을 적용하는 정책 관리 수단; 및
    상기 룰 로딩 수단으로부터 수집되어 들어온 정보를 토대로 서비스와 제공될 정보를 추론하고, 상기 정책 관리 수단에 의해 적용되는 정책에 따라 해당 사용자의 서비스 제공 여부 및 제공 수준을 동적으로 제어하는 추론 수단
    을 포함하는 상황 적응적 서비스 제공을 위한 추론 장치.
  15. 제14항에 있어서,
    상기 정책은,
    서비스 사용자들의 우선순위를 정하여 다중 사용자가 동일 공간에서 동일 서비스를 요청한 경우 사용자의 우선순위를 확인하여 우선순위가 높은 사용자에게 요청한 서비스를 제공하거나, 서비스 간의 우선순위를 정하여 일 사용자가 여러 서비스를 요청한 경우 해당 서비스의 우선순위에 따라 서비스를 제공하는 우선순위와,
    사용자 프라이버시 및 보안 강화를 위해 상황정보에 대한 차등적 보안레벨을 통해 사용자 정보의 공개 정도를 달리하는 보안 레벨과,
    사용자의 레벨과 연동하여 기기를 사용하고 제어 및 관리할 수 있는 등급을 적용하여 각각 다른 상황과 환경에 따라 레벨을 달리하는 기기 접근 레벨과,
    레벨에 따라 선호환경 서비스를 제공하는 지능적 레벨 중 적어도 하나 이상을 포함하는 것을 특징으로 하는 상황 적응적 서비스 제공을 위한 추론 장치.
  16. 추론엔진에서의 서비스 추론 방법에 있어서,
    사용자별 서비스 및 정보에 대한 접근 권한(보안 레벨), 서비스 지능에 대한 수준(지능적 레벨), 사용자의 우선순위 및 서비스에서 제어 가능한 기기의 기기 접근 권한(기기 접근 레벨)에 관한 정책을 정의하는 단계;
    입력 데이터를 분류 및 분석하는 단계;
    상기 입력 데이터가 기기제어 명령어인 경우, 인터페이스 제어기로부터 사용자 ID와 기기 이름을 입력받아, 이를 바탕으로 생성된 쿼리를 통해 온톨로지에 접근하는 단계;
    상기 온톨로지로부터 해당 서비스에 대해 제어될 기기 및 표시될 정보를 수집하는 단계;
    상기 정책 중 기기 접근 레벨을 바탕으로 기기의 제어 유무를 판단하는 단계; 및
    상기 판단 결과, 사용 가능할 경우 디바이스 제어기로 기기제어 명령을 전송하고 그 제어 결과를 상기 인터페이스 제어기를 통해 알리는 단계
    를 포함하는 상황 적응적 서비스 제공을 위한 추론 방법.
  17. 제16항에 있어서,
    상기 입력 데이터가 시스템 설정 명령어인 경우, 상기 인터페이스 제어기로부터 사용자 ID와 사용자가 설정한 정책을 입력받아, 사용자가 설정한 정책을 쿼리 매니저를 통해 상기 온톨로지에 업데이트하는 단계
    를 더 포함하는 상황 적응적 서비스 제공을 위한 추론 방법.
  18. 추론엔진에서의 서비스 추론 방법에 있어서,
    사용자별 서비스 및 정보에 대한 접근 권한(보안 레벨), 서비스 지능에 대한 수준(지능적 레벨), 사용자의 우선순위 및 서비스에서 제어 가능한 기기의 기기 접근 권한(기기 접근 레벨)에 관한 정책을 정의하는 단계;
    입력 데이터를 분류 및 분석하는 단계;
    상기 입력 데이터가 정보 요청 메시지인 경우, 인터페이스 제어기로부터 사용자 ID, 쿼리 이름, 정보 이름을 입력받아, 이를 바탕으로 생성된 쿼리를 통해 온톨로지에 접근하는 단계;
    상기 온톨로지로부터 사용자가 요청한 정보를 수집하는 단계; 및
    상기 정책을 바탕으로, 상기 수집된 정보를 상기 인터페이스 제어기를 통해 전달하는 단계
    를 포함하는 상황 적응적 서비스 제공을 위한 추론 방법.
  19. 추론엔진에서의 서비스 추론 방법에 있어서,
    사용자별 서비스 및 정보에 대한 접근 권한(보안 레벨), 서비스 지능에 대한 수준(지능적 레벨), 사용자의 우선순위 및 서비스에서 제어 가능한 기기의 기기 접근 권한(기기 접근 레벨)에 관한 정책을 정의하는 단계;
    입력 데이터를 분류 및 분석하는 단계;
    상기 입력 데이터가 서비스 모드 명령어인 경우, 세션 매니저로부터 사용자 ID, 서비스 이름 및 서비스 상태를 입력받아, 이를 바탕으로 생성된 쿼리를 통해 온톨로지에 접근하는 단계;
    상기 온톨로지로부터 해당 서비스에 대해 제어될 기기 및 표시될 정보를 수집하는 단계; 및
    상기 정책을 바탕으로, 디바이스 제어기로 기기제어 명령을 전송하고 그 제어 결과를 인터페이스 제어기를 통해 전달하는 단계
    를 포함하는 상황 적응적 서비스 제공을 위한 추론 방법.
  20. 제19항에 있어서,
    서비스 제어기가 인터페이스 제어기로부터 사용자 ID, 서비스 이름 및 서비스 상태를 입력받아, 상기 정책을 상기 추론엔진에 호출하여, 상기 정책을 참조해 서비스 스케쥴링을 수행하는 단계;
    상기 서비스 스케쥴링을 통해 서비스가 결정되면, 상기 서비스 제어기가 사용자 ID와 서비스 정보(서비스 이름 및 서비스 상태)를 상기 세션 매니저로 전송하는 단계; 및
    상기 세션 매니저가 사용자별 세션을 생성하고 서비스 상태 및 제공 여부를 결정하여, 사용자 ID, 서비스 이름 및 서비스 상태를 상기 추론엔진으로 전송하는 단계
    를 더 포함하는 상황 적응적 서비스 제공을 위한 추론 방법.
  21. 추론엔진에서의 서비스 추론 방법에 있어서,
    사용자별 서비스 및 정보에 대한 접근 권한(보안 레벨), 서비스 지능에 대한 수준(지능적 레벨), 사용자의 우선순위 및 서비스에서 제어 가능한 기기의 기기 접근 권한(기기 접근 레벨)에 관한 정책을 정의하는 단계;
    입력 데이터를 분류 및 분석하는 단계;
    상기 입력 데이터가 센서 입력 정보인 경우, 인터페이스 제어기로부터 사용자 ID, 센서 정보, 사용자 위치를 입력받아, 이를 바탕으로 생성된 쿼리를 통해 온톨로지에 접근하는 단계;
    상기 온톨로지를 참조하여 해당 지역에서 수행해야 할 서비스를 결정하는 단계; 및
    서비스 결정시, 서비스 제어기로 사용자 ID, 서비스 이름, 서비스 상태를 전 달하고, 상기 서비스 제어기에서 서비스 충돌이 없다고 판단되면, 상기 정책을 바탕으로 디바이스 제어기로 기기제어 명령을 전송하고 그 제어 결과를 상기 인터페이스 제어기를 통해 전달하는 단계
    를 포함하는 상황 적응적 서비스 제공을 위한 추론 방법.
  22. 제21항에 있어서,
    상기 서비스 제어기가 상기 추론엔진으로부터 사용자 ID, 서비스 이름 및 서비스 상태를 입력받아, 상기 정책을 상기 추론엔진에 호출하여, 상기 정책을 참조해 서비스 스케쥴링을 수행하는 단계;
    상기 서비스 스케쥴링을 통해 서비스가 결정되면, 상기 서비스 제어기가 사용자 ID와 서비스 정보(서비스 이름 및 서비스 상태)를 세션 매니저로 전송하는 단계; 및
    상기 세션 매니저가 사용자별 세션을 생성하고 서비스 상태 및 제공 여부를 결정하여, 사용자 ID, 서비스 이름 및 서비스 상태를 상기 추론엔진으로 전송하는 단계
    를 더 포함하는 상황 적응적 서비스 제공을 위한 추론 방법.
  23. 제16항 내지 제21항 중 어느 한 항에 있어서,
    상기 정책은,
    서비스 사용자들의 우선순위를 정하여 다중 사용자가 동일 공간에서 동일 서비스를 요청한 경우 사용자의 우선순위를 확인하여 우선순위가 높은 사용자에게 요청한 서비스를 제공하거나, 서비스 간의 우선순위를 정하여 일 사용자가 여러 서비스를 요청한 경우 해당 서비스의 우선순위에 따라 서비스를 제공하는 우선순위와,
    사용자 프라이버시 및 보안 강화를 위해 상황정보에 대한 차등적 보안레벨을 통해 사용자 정보의 공개 정도를 달리하는 보안 레벨과,
    사용자의 레벨과 연동하여 기기를 사용하고 제어 및 관리할 수 있는 등급을 적용하여 각각 다른 상황과 환경에 따라 레벨을 달리하는 기기 접근 레벨과,
    레벨에 따라 선호환경 서비스를 제공하는 지능적 레벨을 포함하는 것을 특징으로 하는 상황 적응적 서비스 제공을 위한 추론 방법.
  24. 상황 적응적 서비스 제공을 위하여, 프로세서를 구비한 추론 장치에,
    사용자별 서비스 및 정보에 대한 접근 권한(보안 레벨), 서비스 지능에 대한 수준(지능적 레벨), 사용자의 우선순위 및 서비스에서 제어 가능한 기기의 기기 접근 권한(기기 접근 레벨)에 관한 정책을 정의하는 기능;
    입력 데이터를 분류 및 분석하는 기능;
    상기 입력 데이터가 기기제어 명령어인 경우, 인터페이스 제어기로부터 사용자 ID와 기기 이름을 입력받아, 이를 바탕으로 생성된 쿼리를 통해 온톨로지에 접 근하는 기능;
    상기 온톨로지로부터 해당 서비스에 대해 제어될 기기 및 표시될 정보를 수집하는 기능;
    상기 정책 중 기기 접근 레벨을 바탕으로 기기의 제어 유무를 판단하는 기능; 및
    상기 판단 결과, 사용 가능할 경우 디바이스 제어기로 기기제어 명령을 전송하고 그 제어 결과를 상기 인터페이스 제어기를 통해 알리는 기능
    을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  25. 상황 적응적 서비스 제공을 위하여, 프로세서를 구비한 추론 장치에,
    사용자별 서비스 및 정보에 대한 접근 권한(보안 레벨), 서비스 지능에 대한 수준(지능적 레벨), 사용자의 우선순위 및 서비스에서 제어 가능한 기기의 기기 접근 권한(기기 접근 레벨)에 관한 정책을 정의하는 기능;
    입력 데이터를 분류 및 분석하는 기능;
    상기 입력 데이터가 정보 요청 메시지인 경우, 인터페이스 제어기로부터 사용자 ID, 쿼리 이름, 정보 이름을 입력받아, 이를 바탕으로 생성된 쿼리를 통해 온톨로지에 접근하는 기능;
    상기 온톨로지로부터 사용자가 요청한 정보를 수집하는 기능; 및
    상기 정책을 바탕으로, 상기 수집된 정보를 상기 인터페이스 제어기를 통해 전달하는 기능
    을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  26. 상황 적응적 서비스 제공을 위하여, 프로세서를 구비한 추론 장치에,
    사용자별 서비스 및 정보에 대한 접근 권한(보안 레벨), 서비스 지능에 대한 수준(지능적 레벨), 사용자의 우선순위 및 서비스에서 제어 가능한 기기의 기기 접근 권한(기기 접근 레벨)에 관한 정책을 정의하는 기능;
    입력 데이터를 분류 및 분석하는 기능;
    상기 입력 데이터가 서비스 모드 명령어인 경우, 세션 매니저로부터 사용자 ID, 서비스 이름 및 서비스 상태를 입력받아, 이를 바탕으로 생성된 쿼리를 통해 온톨로지에 접근하는 기능;
    상기 온톨로지로부터 해당 서비스에 대해 제어될 기기 및 표시될 정보를 수집하는 기능; 및
    상기 정책을 바탕으로, 디바이스 제어기로 기기제어 명령을 전송하고 그 제어 결과를 인터페이스 제어기를 통해 전달하는 기능
    을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  27. 상황 적응적 서비스 제공을 위하여, 프로세서를 구비한 추론 장치에,
    사용자별 서비스 및 정보에 대한 접근 권한(보안 레벨), 서비스 지능에 대한 수준(지능적 레벨), 사용자의 우선순위 및 서비스에서 제어 가능한 기기의 기기 접근 권한(기기 접근 레벨)에 관한 정책을 정의하는 기능;
    입력 데이터를 분류 및 분석하는 기능;
    상기 입력 데이터가 센서 입력 정보인 경우, 인터페이스 제어기로부터 사용자 ID, 센서 정보, 사용자 위치를 입력받아, 이를 바탕으로 생성된 쿼리를 통해 온톨로지에 접근하는 기능;
    상기 온톨로지를 참조하여 해당 지역에서 수행해야 할 서비스를 결정하는 기능; 및
    서비스 결정시, 서비스 제어기로 사용자 ID, 서비스 이름, 서비스 상태를 전달하고, 상기 서비스 제어기에서 서비스 충돌이 없다고 판단되면, 상기 정책을 바탕으로 디바이스 제어기로 기기제어 명령을 전송하고 그 제어 결과를 상기 인터페이스 제어기를 통해 전달하는 기능
    을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020070119874A 2007-11-22 2007-11-22 상황 적응적 서비스 제공을 위한 추론 장치 및 그 방법과그를 이용한 상황인지 지식서비스 시스템 KR101009638B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070119874A KR101009638B1 (ko) 2007-11-22 2007-11-22 상황 적응적 서비스 제공을 위한 추론 장치 및 그 방법과그를 이용한 상황인지 지식서비스 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070119874A KR101009638B1 (ko) 2007-11-22 2007-11-22 상황 적응적 서비스 제공을 위한 추론 장치 및 그 방법과그를 이용한 상황인지 지식서비스 시스템

Publications (2)

Publication Number Publication Date
KR20090053178A KR20090053178A (ko) 2009-05-27
KR101009638B1 true KR101009638B1 (ko) 2011-01-19

Family

ID=40860721

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070119874A KR101009638B1 (ko) 2007-11-22 2007-11-22 상황 적응적 서비스 제공을 위한 추론 장치 및 그 방법과그를 이용한 상황인지 지식서비스 시스템

Country Status (1)

Country Link
KR (1) KR101009638B1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016018358A1 (en) * 2014-07-31 2016-02-04 Hewlett-Packard Development Company, L.P. Localization from access point and mobile device
KR20180049540A (ko) 2016-11-03 2018-05-11 주식회사 케이티 개인비서 서비스를 제공하는 디바이스 및 이를 이용한 서비스 제공방법
US10054921B2 (en) 2014-03-04 2018-08-21 Electronics And Telecommunications Research Institute Apparatus and method for adaptively controlling a target system according to operating environment
WO2023058894A1 (ko) * 2021-10-08 2023-04-13 삼성전자주식회사 서버 및 이의 제어 방법

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101477723B1 (ko) * 2012-11-14 2015-01-02 남서울대학교 산학협력단 B2c 서비스의 고객 피드백 통합 추론 시스템 및 그 방법
US9361363B2 (en) 2012-12-31 2016-06-07 Facebook, Inc. Modifying structured search queries on online social networks
US9367607B2 (en) 2012-12-31 2016-06-14 Facebook, Inc. Natural-language rendering of structured search queries
US9703844B2 (en) 2012-12-31 2017-07-11 Facebook, Inc. Search result snippets for structured search queries
KR102349402B1 (ko) * 2019-10-22 2022-01-11 한국전자기술연구원 적응형 추론 시스템 및 이의 운용 방법

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 주식회사 케이티 지식기반 홈네트워크에서 사용자 적응적 서비스 제공을위한 추론 장치
KR20070039785A (ko) * 2005-10-10 2007-04-13 한국정보통신대학교 산학협력단 온톨로지 기반의 상황정보 관리방법
KR20070049426A (ko) * 2005-11-08 2007-05-11 에스케이 텔레콤주식회사 개인 중심의 서비스 제공 방법 및 시스템

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 주식회사 케이티 지식기반 홈네트워크에서 사용자 적응적 서비스 제공을위한 추론 장치
KR20070039785A (ko) * 2005-10-10 2007-04-13 한국정보통신대학교 산학협력단 온톨로지 기반의 상황정보 관리방법
KR20070049426A (ko) * 2005-11-08 2007-05-11 에스케이 텔레콤주식회사 개인 중심의 서비스 제공 방법 및 시스템

Non-Patent Citations (1)

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

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10054921B2 (en) 2014-03-04 2018-08-21 Electronics And Telecommunications Research Institute Apparatus and method for adaptively controlling a target system according to operating environment
WO2016018358A1 (en) * 2014-07-31 2016-02-04 Hewlett-Packard Development Company, L.P. Localization from access point and mobile device
US10327093B2 (en) 2014-07-31 2019-06-18 Ent. Services Development Corporation Lp Localization from access point and mobile device
KR20180049540A (ko) 2016-11-03 2018-05-11 주식회사 케이티 개인비서 서비스를 제공하는 디바이스 및 이를 이용한 서비스 제공방법
WO2023058894A1 (ko) * 2021-10-08 2023-04-13 삼성전자주식회사 서버 및 이의 제어 방법

Also Published As

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

Similar Documents

Publication Publication Date Title
KR101009638B1 (ko) 상황 적응적 서비스 제공을 위한 추론 장치 및 그 방법과그를 이용한 상황인지 지식서비스 시스템
Chen An intelligent broker architecture for context-aware systems
Maia et al. Loccam-loosely coupled context acquisition middleware
Bellavista et al. Dynamic binding in mobile applications
KR20090000122A (ko) 커뮤니티 컴퓨팅 기반의 동적 서비스 조합 시스템
Toninelli et al. Proteus: A semantic context-aware adaptive policy model
Jaroucheh et al. CANDEL: product line based dynamic context management for pervasive applications
KR101094837B1 (ko) 온톨로지 기반 상황 인지 시스템 및 이를 이용한 서비스 제공방법
KR20070008990A (ko) 지식기반 홈네트워크에서 사용자 적응적 서비스 제공을위한 추론 장치
Fides-Valero et al. The PERSONA framework for supporting context-awareness in open distributed systems
KR100904147B1 (ko) 상황인지 지식서비스를 위한 쿼리 관리 장치 및 그 방법
KR100811091B1 (ko) 지능형 홈네트워크 상황인지서비스 시스템 및 그 방법
KR100884693B1 (ko) 커뮤니티 컴퓨팅 방법 및 커뮤니티 컴퓨팅 시스템
KR100839535B1 (ko) 다중 사용자 프로파일 기반 상황 적응적 서비스 구현을 위한 추론엔진 및 그 방법
KR20090053179A (ko) 상황인지 지식서비스를 위한 서비스 제어 장치 및 그 방법
KR20090053174A (ko) 상황인지 지식서비스를 위한 세션 관리 장치 및 그 방법
KR102485645B1 (ko) 스마트 오브젝트의 태스크 기반 협업을 위한 분산 설계 온톨로지에 기반한 분산 사물인터넷 시스템
Dalmau et al. Context aware adaptable applications-a global approach
Gorodetsky Agents and distributed data mining in smart space: Challenges and perspectives
Kelaidonis et al. A cognitive management framework for smart objects and applications in the internet of things
KR100864167B1 (ko) 유비쿼터스 환경의 지식기반 온톨로지 컨텍스트 관리 장치 및 그 방법
Janse et al. Amigo architecture: Service oriented architecture for intelligent future In-Home networks
Jih et al. A multi-agent context-aware service platform in a smart space
KR20090000687A (ko) 상황정보 관리 시스템 및 방법
Reinhardt et al. Towards seamless binding of context-aware services to ubiquitous information sources

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
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: 20140102

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150105

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee