KR20090053179A - Service controlling apparatus and method for context-aware knowledge service - Google Patents

Service controlling apparatus and method for context-aware knowledge service Download PDF

Info

Publication number
KR20090053179A
KR20090053179A KR1020070119875A KR20070119875A KR20090053179A KR 20090053179 A KR20090053179 A KR 20090053179A KR 1020070119875 A KR1020070119875 A KR 1020070119875A KR 20070119875 A KR20070119875 A KR 20070119875A KR 20090053179 A KR20090053179 A KR 20090053179A
Authority
KR
South Korea
Prior art keywords
service
user
information
services
priority
Prior art date
Application number
KR1020070119875A
Other languages
Korean (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 KR1020070119875A priority Critical patent/KR20090053179A/en
Publication of KR20090053179A publication Critical patent/KR20090053179A/en

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/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • 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
    • 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/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Development Economics (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • Computational Linguistics (AREA)
  • Game Theory and Decision Science (AREA)
  • Marketing (AREA)
  • Animal Behavior & Ethology (AREA)
  • Educational Administration (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer And Data Communications (AREA)

Abstract

본 발명은 상황인지(Context-Aware) 지식서비스를 위한 서비스 제어 장치 및 그 방법과, 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것으로, 유비쿼터스 환경에 기반한 홈네트워크 서비스에서 사용자에게 상황 적응적 맞춤형 서비스를 제공하기 위해 서비스 실행을 위한 서비스 스케쥴링 및 서비스 정책관리, 사용자의 행동에 대한 서비스 상태를 모니터링하기 위한 서비스 제어 장치 및 그 방법과, 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하고자 한다.The present invention relates to a service control apparatus and method for context-aware knowledge service, and a computer-readable recording medium recording a program for realizing the method. The present invention relates to a home network service based on a ubiquitous environment. Service scheduling and service policy management for service execution, service control device for monitoring the service status of user's behavior, and a program for realizing the method to provide a context-adaptive customized service to the user. It is intended to provide a computer readable recording medium.

이를 위하여, 본 발명은 서비스 제어 장치의 서비스 제어 방법에 있어서, 사용자 간 또는 서비스 간의 우선순위를 정의하고, 다양한 서비스가 동시에 실행될 경우 서비스 우선순위에 따라 서비스가 실행될 수 있도록 정책을 설정하는 단계; 서비스 요청시, 상기 정책을 참조하여 서비스 등록 여부 및 서비스가 해당 위치에서 해당 사용자에게 제공될 수 있는지 적절성을 판단하는 단계; 상기 판단 결과, 현재 요청된 서비스의 우선순위가 기 제공되고 있는 서비스보다 높거나 해당 사용자에게 등록된 적절한 서비스인 경우, 해당 서비스를 서비스 스케쥴러에 등록하는 단계; 상기 서비스 스케쥴러에 의해 현재 실행되고 있는 서비스보다 우선순위가 높은 서비스가 실행될 경우, 현재의 서비스를 정지하고 서비스 상태를 서비스 데이터 테이블에 저장하는 단계; 서비스 실행시, 상기 서비스 데이터 테이블에 저장된 서비스 상태를 호출하여 해당 서비스를 재개하는 단계; 및 서비스 종료시, 상기 서비 스 스케쥴러에 등록된 서비스를 해제하는 단계를 포함한다.To this end, the present invention provides a service control method of a service control device, the method comprising: defining a priority between users or services, and setting a policy so that a service can be executed according to service priority when various services are executed simultaneously; When requesting a service, referring to the policy to determine whether the service is registered and whether the service can be provided to the user at the corresponding location; As a result of the determination, if the priority of the currently requested service is higher than a service already provided or an appropriate service registered to the user, registering the service with the service scheduler; Stopping a current service and storing a service state in a service data table when a service having a higher priority than a service currently being executed by the service scheduler is executed; Resuming the service by calling a service state stored in the service data table when the service is executed; And releasing a service registered in the service scheduler when the service ends.

상황인지, 지식서비스, 서비스 제어기, 스케쥴러, 정책, 온톨로지 Context Awareness, Knowledge Service, Service Controller, Scheduler, Policy, Ontology

Description

상황인지 지식서비스를 위한 서비스 제어 장치 및 그 방법{Service controlling apparatus and method for context-aware knowledge service}Service control apparatus and method for context-aware knowledge service

본 발명은 상황인지(Context-Aware) 지식서비스를 위한 서비스 제어 장치 및 그 방법과, 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것으로, 더욱 상세하게는 유비쿼터스 환경에 기반한 홈네트워크 서비스에서 사용자에게 상황 적응적 맞춤형 서비스를 제공하기 위해 서비스 실행을 위한 서비스 스케쥴링 및 서비스 정책관리, 사용자의 행동에 대한 서비스 상태를 모니터링하기 위한 서비스 제어 장치 및 그 방법과, 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것이다.The present invention relates to a service control apparatus and method for context-aware knowledge service, and a computer-readable recording medium recording a program for realizing the method. More specifically, the present invention relates to a ubiquitous environment. Service scheduling and service policy management for service execution, service control device for monitoring the service status of user's behavior, and the method to provide a context-adaptive and customized service to a user in a home network service, and realizing the method The present invention relates to a computer-readable recording medium having recorded thereon a program.

향후 유비쿼터스 시대의 응용 및 서비스는 컴퓨팅 및 커뮤니케이션 능력을 가진 스마트 객체들이 동적인 환경 변화를 인식하고 이에 적응할 수 있는 특성, 즉 상황인지(Context-Aware) 특성을 갖게 될 것이다. 상황정보(Context)는 사용자가 상호 작용을 하는 시점에 가용한 거의 모든 정보이다. 또한, 상황정보는 응용 운용 환경의 일부로 응용이 감지할 수 있는 정보를 포함한다. 이는 일반적으로 사람, 그룹, 객체의 위치, 식별, 활동, 상태 등을 포함한다. 상황인지 서비스는 이러한 상황정보의 수집 및 교환을 통해 인식하고, 해석 및 추론과 같은 처리 과정을 거쳐 사용자에게 상황에 적절한 서비스를 제공한다. In the future, applications and services in the ubiquitous era will have the characteristics that smart objects with computing and communication capabilities can recognize and adapt to dynamic environment changes, that is, context-aware characteristics. Context is almost all of the information available at the time the user interacts. In addition, the context information includes information that can be detected by the application as part of the application operating environment. This generally includes the location, identification, activity, status, etc. of people, groups, and objects. The context-aware service recognizes through the collection and exchange of such situation information, and provides the appropriate service to the situation through the process of interpretation and reasoning.

유비쿼터스 환경에서의 상황인지 서비스는 전체 유비쿼터스 서비스 집합 중에서 가장 크고 중요한 부분 집합을 차지하게 될 것이다. 또한, 상황인지 서비스는 가정, 의료, 교육, 재난ㆍ구호, 쇼핑 등 사회 전분야에 걸쳐 응용될 수 있어 사회 전반에 걸쳐 많은 영향을 줄 것이다. In a ubiquitous environment, context-aware services will be the largest and most important subset of the entire ubiquitous set of services. In addition, context-aware services can be applied to all areas of society such as home, medical care, education, disaster and relief, and shopping, and will have a great impact on society.

특히, 유비쿼터스 환경에서의 고도화된 사용자 맞춤형 서비스 제공을 위해서는, 지능적이며 다양한 상황에 적응적인 컴퓨팅 기술이 필요하다. 또한, 다양한 장치들이 서로 정보를 교환, 공유할 수 있어야 하며, 사용자에게 최적의 서비스를 제공하기 위해 물리적 공간, 시간, 네트워크 환경, 각종 장치들을 유기적으로 결합하여 서비스를 제공하기 위한 상황인지(Context-Aware) 기술이 있어야 한다. In particular, in order to provide advanced customized services in a ubiquitous environment, an intelligent and adaptive computing technology is needed. In addition, various devices should be able to exchange and share information with each other, and whether it is a situation to provide services by organically combining physical space, time, network environment, and various devices to provide an optimal service to a user. Aware) technology.

유비쿼터스 환경에서는 사용자의 이동이 세부적으로 고려되며, 사용자가 요구하는 서비스를 지능적으로 필요한 상황에서 알맞게 제공해야 한다. 이를 위해서는 사용자의 이동에 대해 인식하고 사용자 및 환경, 서비스 정보를 정책적으로 관리하는 것이 필요하다. 사용자가 요구하는 서비스가 증가할수록, 공간의 확대로 인해 다중 사용자 간의 공간 내에서의 서비스 충돌 및 보안 등의 문제점들이 증가된다. 이를 해결하기 위해서는 이러한 서비스 및 사용자와 공간에 대한 정책을 정의함으로써 충돌에 대한 해결 및 서비스의 보안적 제공을 가능하도록 구성해야 한다. In the ubiquitous environment, the user's movement is considered in detail, and the service required by the user must be provided in an intelligently necessary situation. To do this, it is necessary to recognize the movement of users and to manage user, environment, and service information in a policy manner. As the service required by a user increases, problems such as service collision and security in a space among multiple users increase due to the expansion of the space. In order to solve this problem, it is necessary to define a policy for such a service and a user and a space to solve a conflict and provide security of a service.

현재까지는 추론을 통해 이루어진 결과에 대해 단순한 서비스 처리를 위한 모듈에 대한 개발이 이루어지고 있으나, 서비스 요청의 증대에 대해 고려가 되어 있지 않은 상태에서 단순히 하나의 사용자에 대한 관리만이 이루어지고 있어, 유비쿼터스 환경의 멀티 홈네트워크에서의 적용에는 한계가 있다. 따라서, 다중 사용자를 위한 서비스 확장을 위해서는 서비스 컨트롤러(본 발명의 서비스 제어 장치)의 도입이 요구된다. Until now, the development of modules for simple service processing has been made on the results of inference, but only one user is managed without being considered for the increase of service requests. There is a limit to the application in an environment multihome network. Therefore, introduction of a service controller (service control device of the present invention) is required for service extension for multiple users.

이때, 요구되는 서비스 컨트롤러는 서비스 스케쥴링 및 우선순위(Priority), 지능적 레벨(Intelligence Level) 등을 고려하여 다중 사용자에 대한 서비스 충돌을 방지하여 서비스를 효율적으로 제공할 수 있도록 한다. 또한, 멀티 홈네트워크에서의 적용을 위해서, 모든 서비스에 대한 자원을 관리하고, 각 서비스를 계층적 구조로 구현하며, 다중 사용자의 다중 서비스 요구에 대해 효율적인 처리가 가능하도록 멀티 쓰레드로 운용되는 방식이 요구되므로, OSGi(Open Service Gateway Initiative) 프레임워크(Framework) 상에 번들(Bundle) 형태로 제작하여 서비스의 효율적인 구동이 가능하도록 한다.In this case, the required service controller can efficiently provide a service by preventing service collision for multiple users in consideration of service scheduling, priority, intelligence level, and the like. In addition, for application in a multi-home network, a multi-threaded method is used to manage resources for all services, implement each service in a hierarchical structure, and efficiently handle multiple service requests of multiple users. Since it is required, it can be manufactured in a bundle form on the OSGi (Open Service Gateway Initiative) framework to enable efficient operation of the service.

현재 사용자가 이용하는 서비스에 대한 상태를 모니터링하며, 만일 서비스가 다중으로 사용될 경우 서비스의 다양한 실행 정책[사용자에 따라 다르게 설정된 정책으로서, 우선순위(Priority), 기기 접근 레벨(Device Access Level), 보안 레벨(Security Level), 지능적 레벨(Intelligence Level) 등]을 참고하여 서비스 실행 순위를 임시로 정하여 서비스의 분산 처리를 가능하게 하고, 한 명의 사용자가 다중으로 서비스를 제공받고 있을 경우 서비스 제공 레벨 및 다양한 서비스 정책을 판단하여 중복 제공하지 않고 사용자가 원하는 서비스를 제공하고자 하는 것이 본 발명의 과제이다.It monitors the status of the service currently used by the user, and if the service is used in multiple ways, various execution policies of the service [policy set differently according to the user, Priority, Device Access Level, Security Level (Security Level, Intelligence Level, etc.) to temporarily set the service execution rank to enable distributed processing of services, and to provide service levels and various services when one user is provided with multiple services. An object of the present invention is to provide a service desired by a user without determining a policy and providing a duplicate.

따라서, 본 발명은 유비쿼터스 환경에 기반한 홈네트워크 서비스에서 사용자에게 상황 적응적 맞춤형 서비스를 제공하기 위해 서비스 실행을 위한 서비스 스케쥴링 및 서비스 정책관리, 사용자의 행동에 대한 서비스 상태를 모니터링하기 위한 서비스 제어 장치 및 그 방법과, 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는데 그 목적이 있다.Accordingly, the present invention provides a service scheduling apparatus for service execution and service policy management, a service control apparatus for monitoring a service state of a user's behavior in order to provide a context-adaptive customized service to a user in a home network service based on a ubiquitous environment; It is an object of the present invention and to provide a computer-readable recording medium having recorded thereon a program for realizing the method.

본 발명의 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있으며, 본 발명의 실시예에 의해 보다 분명하게 알게 될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.The objects of the present invention are not limited to the above-mentioned objects, and other objects and advantages of the present invention which are not mentioned above can be understood by the following description, and will be more clearly understood by the embodiments of the present invention. Also, it will be readily appreciated that the objects and advantages of the present invention may be realized by the means and combinations thereof indicated in the claims.

상기 목적을 달성하기 위한 본 발명은, 상황인지 지식서비스 시스템의 서비스 제어 장치에 있어서, 입력 데이터를 분류하고 필터링하며, 출력 데이터를 전송할 모듈에 맞는 포맷으로 변환하여 전송하는 데이터 필터링 수단; 온톨로지로부터 사용자에게 제공되는 서비스에 대한 정보를 로딩하여 관리하는 서비스 데이터 관리수단; 사용자 간 또는 서비스 간의 우선순위를 정의하고, 다양한 서비스가 동시에 실행될 경우 서비스 우선순위에 따라 서비스가 실행될 수 있도록 정책을 제공하는 정책수단; 및 상기 정책을 참조하여, 서비스 스케쥴링을 통해 서비스 지역에서 서비스 간 동시 실행에 따른 충돌을 방지하기 위한 서비스 스케쥴링 수단을 포함하는 것을 특징으로 한다. In order to achieve the above object, the present invention provides a service control apparatus of a context-aware knowledge service system, comprising: data filtering means for classifying and filtering input data, converting output data into a format suitable for a module to be transmitted; Service data management means for loading and managing information on a service provided to a user from an ontology; Policy means for defining priorities between users or services, and providing a policy for executing services according to service priorities when various services are executed simultaneously; And a service scheduling means for preventing a collision due to simultaneous execution between services in a service area through service scheduling with reference to the policy.

한편, 본 발명은, 서비스 제어 장치의 서비스 제어 방법에 있어서, 사용자 간 또는 서비스 간의 우선순위를 정의하고, 다양한 서비스가 동시에 실행될 경우 서비스 우선순위에 따라 서비스가 실행될 수 있도록 정책을 설정하는 단계; 서비스 요청시, 상기 정책을 참조하여 서비스 등록 여부 및 서비스가 해당 위치에서 해당 사용자에게 제공될 수 있는지 적절성을 판단하는 단계; 상기 판단 결과, 현재 요청된 서비스의 우선순위가 기 제공되고 있는 서비스보다 높거나 해당 사용자에게 등록된 적절한 서비스인 경우, 해당 서비스를 서비스 스케쥴러에 등록하는 단계; 상기 서비스 스케쥴러에 의해 현재 실행되고 있는 서비스보다 우선순위가 높은 서비 스가 실행될 경우, 현재의 서비스를 정지하고 서비스 상태를 서비스 데이터 테이블에 저장하는 단계; 서비스 실행시, 상기 서비스 데이터 테이블에 저장된 서비스 상태를 호출하여 해당 서비스를 재개하는 단계; 및 서비스 종료시, 상기 서비스 스케쥴러에 등록된 서비스를 해제하는 단계를 포함하는 것을 특징으로 한다. Meanwhile, the present invention provides a service control method of a service control apparatus, the method comprising: defining priorities between users or services, and setting a policy so that services can be executed according to service priorities when various services are executed at the same time; When requesting a service, referring to the policy to determine whether the service is registered and whether the service can be provided to the user at the corresponding location; As a result of the determination, if the priority of the currently requested service is higher than a service already provided or an appropriate service registered to the user, registering the service with the service scheduler; Stopping a current service and storing a service state in a service data table when a service having a higher priority than a service currently being executed by the service scheduler is executed; Resuming the service by calling a service state stored in the service data table when the service is executed; And releasing the service registered in the service scheduler when the service ends.

다른 한편, 본 발명은, 상황인지 지식서비스를 위하여, 프로세서를 구비한 서비스 제어 장치에, 사용자 간 또는 서비스 간의 우선순위를 정의하고, 다양한 서비스가 동시에 실행될 경우 서비스 우선순위에 따라 서비스가 실행될 수 있도록 정책을 설정하는 기능; 서비스 요청시, 상기 정책을 참조하여 서비스 등록 여부 및 서비스가 해당 위치에서 해당 사용자에게 제공될 수 있는지 적절성을 판단하는 기능; 상기 판단 결과, 현재 요청된 서비스의 우선순위가 기 제공되고 있는 서비스보다 높거나 해당 사용자에게 등록된 적절한 서비스인 경우, 해당 서비스를 서비스 스케쥴러에 등록하는 기능; 상기 서비스 스케쥴러에 의해 현재 실행되고 있는 서비스보다 우선순위가 높은 서비스가 실행될 경우, 현재의 서비스를 정지하고 서비스 상태를 서비스 데이터 테이블에 저장하는 기능; 서비스 실행시, 상기 서비스 데이터 테이블에 저장된 서비스 상태를 호출하여 해당 서비스를 재개하는 기능; 및 서비스 종료시, 상기 서비스 스케쥴러에 등록된 서비스를 해제하는 기능을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.On the other hand, the present invention, for the context-aware knowledge service, to define a priority between users or services in the service control device having a processor, so that the service can be executed according to the service priority when the various services are executed at the same time Setting a policy; A function of determining whether to register a service and whether the service can be provided to a corresponding user at a corresponding location when referring to the policy; As a result of the determination, if a priority of a currently requested service is higher than a service already provided or a proper service registered to a corresponding user, registering a corresponding service in a service scheduler; A function of stopping a current service and storing a service state in a service data table when a service having a higher priority than a service currently being executed by the service scheduler is executed; When executing a service, calling a service state stored in the service data table to restart the corresponding service; And a computer readable recording medium having recorded thereon a program for realizing a function of releasing a service registered in the service scheduler when the service ends.

상기와 같은 본 발명은, 입력 처리에 대해 멀티 쓰레드를 통해 관리 및 처리 가 다중 동작을 함으로써 효율성을 높일 수 있으며, 서비스 정책에 기반한 서비스 스케쥴링 및 필터링을 함으로써 처리 속도를 높이고, 다중 홈네트워크 상황에서 서비스 기능을 효율적으로 제공할 수 있는 효과가 있다. 이때, 서비스 스케쥴링을 통해 서비스의 분산 처리를 가능한 이점이 있다. As described above, the present invention can increase efficiency by managing and processing multiple operations through multi-threading for input processing, and speeds up processing by scheduling and filtering services based on service policies, and services in a multi-home network situation. There is an effect that can provide the function efficiently. In this case, there is an advantage in that distributed processing of the service is possible through service scheduling.

상술한 목적, 특징 및 장점은 첨부된 도면을 참조하여 상세하게 후술되어 있는 상세한 설명을 통하여 보다 명확해 질 것이며, 그에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하기로 한다.The above objects, features, and advantages will become more apparent from the detailed description given hereinafter with reference to the accompanying drawings, and accordingly, those skilled in the art to which the present invention pertains may share the technical idea of the present invention. It will be easy to implement. In addition, in describing the present invention, when it is determined that the detailed description of the known technology related to the present invention may unnecessarily obscure the gist of the present invention, the detailed description thereof will be omitted. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

유비쿼터스 환경에서 고도화된 사용자 맞춤형 서비스 제공을 위해서는, 지능적이며 다양한 상황에 적응적인 컴퓨팅 기술이 필요하다. 또한, 다양한 장치들이 서로 정보를 교환, 공유할 수 있어야 하며, 사용자에게 최적의 서비스를 제공하기 위해 물리적 공간, 시간, 네트워크 환경, 각종 장치들을 유기적으로 결합하여 서비스를 제공하기 위한 상황인지 기술이 있어야 한다. In order to provide advanced customized services in the ubiquitous environment, intelligent and adaptive computing technology is needed. In addition, various devices should be able to exchange and share information with each other, and there should be situational technology to provide services by organically combining physical space, time, network environment, and various devices in order to provide an optimal service to users. do.

상황인지(Context-Aware) 지식서비스 시스템은, 다음과 같은 기능들을 제공하는 OSGi(Open Service Gateway Initiative) 기반의 미들웨어 번들(Middleware Bundle)[즉, 쿼리 매니저(Query Manager), 추론엔진(Reasoning Engine), 인터페이스 제어기(Interface Controller), 서비스 제어기(Service Controller), 세션 매니저(Session Manager), 상황정보 매니저(Context Manager) 등]을 통해 이러한 지식서비스를 가능하게 한다.The context-aware knowledge service system is a middleware bundle based on the Open Service Gateway Initiative (OSGi) that provides the following functions (ie, Query Manager, Reasoning Engine). , An interface controller, a service controller, a session manager, a context manager, etc., to enable such knowledge services.

상황인지 지식서비스 시스템은, 실시간 정보 및 집안의 각종 센서로부터 수집된 상황정보(Context)를 요약, 분석, 처리, 가공하여 다양한 입출력 방법으로 정보를 제공하고, 기기들을 제어할 수 있다[정보 처리 및 입출력 제어 기능]. The context-aware knowledge service system may summarize, analyze, process, and process real-time information and context collected from various sensors in the house to provide information through various input / output methods and control devices. I / O control function].

또한, 상황인지 지식서비스 시스템은, 상황정보(센서로부터 입력된 사용자의 위치 정보, 댁내의 온습도, 조도 등의 환경정보, 사용자 스케쥴 등의 사용자 프로파일 정보)에 따라 적절한 서비스를 추론하기 위한 쿼리(Query)를 생성한다[쿼리 포맷팅(Query Formatting) 기능].In addition, the context-aware knowledge service system is a query for inferring an appropriate service according to context information (user's location information input from a sensor, environment information such as temperature and humidity of a home, illumination, and user profile information such as a user schedule). ) [Query Formatting Function].

또한, 상황인지 지식서비스 시스템은, 사용자 이동 및 서비스 변화시 서비스 상태를 저장하여 끊김없는(Seamless) 서비스 제공을 가능케 한다[서비스 관리 기능].In addition, the context-aware knowledge service system enables to provide a seamless service by storing a service state when a user moves and changes a service [service management function].

또한, 상황인지 지식서비스 시스템은, 사용자 프로파일 및 상황정보의 관계성을 통해 유기적인 데이터 구축 및 관리를 가능하게 한다[객체 지향 데이터베이스인 온톨로지(Ontology) 기능].In addition, the context aware knowledge service system enables organic data construction and management through the relationship between user profile and context information (Ontology function, which is an object-oriented database).

상황인지 지식서비스 시스템의 미들웨어 구성은 도 1과 같다. The middleware configuration of the context aware knowledge service system is shown in FIG. 1.

도 1에 도시된 바와 같이, 본 발명이 적용되는 상황인지 지식서비스 시스템은 OSGi 표준을 따르는 서비스 플랫폼을 기반으로 하는 번들(Bundle) 형태로 구성 된다. As shown in FIG. 1, the knowledge service system in which the present invention is applied is configured in a bundle form based on a service platform conforming to the OSGi standard.

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)를 통해 각종 지식서비스 제공을 가능하게 한다.The OSGi framework runs on the Java Virtual Machine (JVM), making it portable and extensible, so it can be used on most systems with a JVM regardless of hardware (H / W) or operating system (OS). It provides a multi-threading technique and provides an interface to easily manage the installation and update of bundles. Middleware bundles (Reasoning Engine, Interface Controller, Session Manager, Query Manager, Context Manager, Context) that make up the context-aware knowledge service system on the OSGi framework Manager, Service Controller], and the bundle enables various knowledge services to be provided through a multi-modal interface (MMI).

그럼, 본 발명이 적용되는 상황인지 지식서비스 시스템의 특징에 대해 살펴보면 다음과 같다. Then, look at the characteristics of the knowledge service system whether the present invention is applied as follows.

상황인지 지식서비스 시스템[OSGi 기반 시스템 아키텍쳐]은 OSGi 기반 서비스 플랫폼을 이용한 번들 형태의 미들웨어 개발로, OSGi를 기반으로 하는 타 서비스 및 미들웨어와 쉽게 연동 가능하며, 미들웨어를 사용한 서비스의 분배 및 관리가 용이하다. 또한, 각각의 번들별로 독립적인 구성이 가능하여 번들의 재활용성이 뛰어나다. 이러한 특징을 이용하여 다양한 유비쿼터스 환경 지원 지식 정보 서비스 기술에 활용할 수 있으며, 특히 텔레매틱스 서비스 번들과 연동하여 자동차의 네비게이션을 통한 정보의 제공 및 차량 상태 점검 서비스 등에도 활용 가능하다.Context-aware knowledge service system [OSGi-based system architecture] is a bundle-type middleware development using OSGi-based service platform, which can be easily linked with other services and middleware based on OSGi, and easy to distribute and manage services using middleware. Do. In addition, each bundle can be configured independently to provide excellent bundle recyclability. This feature can be used in various ubiquitous environment support knowledge information service technology, and in particular, it can be used for providing information through car navigation and vehicle condition checking service in conjunction with a telematics service bundle.

또한, 상황인지 지식서비스 시스템[의미기반 상황정보 표현 기술(Ontology)]은 의미/지식 기반 표현 체계인 온톨로지(Ontology)를 사용하여 의미 모호성 없이 상황정보(Physical, Environmental, Informational, Social, Application, System)를 표현, 교환, 관리할 수 있으며, 온톨로지에 기반한 상황인지(Context-Awareness)를 위해 시멘틱 웹(Semantic Web) 표준 체계인 웹 온톨로지 언어(OWL) 및 자원 기술 프레임워크(RDF)를 사용하고 있을 뿐만 아니라, 대량의 상황정보(Context)를 미들웨어 차원에서 효과적으로 처리하기 위하여, 온톨로지에 기반한 상황정보의 추론(Reasoning) 뿐만 아니라, 마이닝(Mining) 기술을 적용하여 사용자 인터페이스(User Interface)를 통해 사용자 상황정보를 효과적으로 전달, 운용할 수 있다. 또한, 정보 콘텐츠의 크기, 형태, 구성이 사용자 디바이스(Device), 네트워크(Network), 상황정보(Context)에 맞게 재구성되어 새로운 형태의 정보 제공이 가능하다. In addition, context-aware knowledge service system [meaning-based contextual information expression technology (Ontology)] uses ontology, which is a semantic / knowledge-based expression system, without context ambiguity (Physical, Environmental, Informational, Social, Application, System). ), Using the Web Ontology Language (OWL) and Resource Description Framework (RDF), the Semantic Web standard framework for context-awareness based on ontology. In addition, in order to effectively process a large amount of contexts in the middleware level, not only inferencing of context information based on ontology but also mining technology is applied to the user context through the user interface. Information can be effectively transmitted and operated. In addition, the size, shape, and configuration of the information content can be reconfigured according to the user device, the network, and the context to provide a new type of information.

또한, 상황인지 지식서비스 시스템[지식정보 개인화 기술]은 유비쿼터스 환경에서 지식정보 서비스의 개인화를 위하여 효율적 상황정보(Context) 관리를 통한 프로파일링 기술을 구비하고 있다. 즉, 각각의 상황정보에 보안 레벨(Security Level), 지능적 레벨(Intelligence Level), 정책적 레벨(Policy Level), 기기 접근 레벨(Device Access Level) 등의 접근 권한 및 우선순위(Priority)를 두어 사용자 개개인별로 접근 가능한 정보의 수위를 평가하여 제공하며, 이는 동적인 사용자 행동양식 또는 정보 패턴을 인지하여 동적으로 변화가 가능하도록 구성된다. In addition, the context-aware knowledge service system [knowledge information personalization technology] is equipped with a profiling technology through efficient context information (Context) management for the personalization of knowledge information services in the ubiquitous environment. That is, each situation information has access authority and priority such as security level, intelligence level, policy level, and device access level. It evaluates and provides the level of information that can be accessed by each, and it is configured to dynamically change by recognizing dynamic user behavior or information pattern.

상기와 같은 특징을 갖는 상황인지 지식서비스 시스템의 미들웨어 번들 간 구조는 도 2와 같다. The structure of the middleware bundles of the situation recognition knowledge service system having the above characteristics is shown in FIG. 2.

상황인지 지식서비스 시스템을 구성하는 미들웨어 번들 각각의 역할은 다음과 같다.The roles of each middleware bundle constituting the context aware knowledge service system are as follows.

추론엔진(Reasoning Engine)(30)은 사용자 및 환경, 서비스와 시공간의 복합적 개념의 정보를 관리하는 온톨로지로부터 정보를 추출, 관리하고, 서비스 번들로 해당 정보를 전송하는 기능을 수행한다. 또한, 다중 가정, 다중 사용자의 서비스 이용시, 사용자들의 성향이나, 프로파일(Profile), 패턴에 기반하여 상황을 추론하고, 사용자 이동에 따른 새로운 서비스 요청이나 서비스 명령시 사용자 혹은 서비스 간의 우선순위(Priority) 등의 정책 적용에 의한 서비스 제공 여부를 확인하여, 제공 수준에 따른 기기제어신호 및 서비스 정보를 전송하는 기능을 수행한다. The inference engine 30 extracts and manages information from an ontology managing information of a complex concept of a user and an environment, a service, and a space-time, and transmits the information to a service bundle. In addition, when using services of multiple homes and multiple users, the situation is inferred based on the user's propensity, profile, and pattern, and the priority between users or services when a new service request or service command follows a user's movement. It checks whether the service is provided by the application of the policy, and transmits the device control signal and service information according to the provision level.

인터페이스/서비스 제어기(Interface/Service Controller)(50)는 다양한 형태의 상황정보[MMI로부터 입력되는 제어 신호(기기제어, 서비스 모드, 시스템 설정 등) 및 서비스 요청 신호(정보 요청)와 댁내의 센서로부터 입력되는 센서 신호]를 공통된 포맷으로 번역(Translating)하여 다른 번들로 전송하는 기능을 수행한다. 또한, 각 센서 입력에 대한 분류 및 사용자 입력에 따른 기본 데이터와의 조합 및 관리 기능을 수행한다. 또한, 입출력 상황에서의 데이터를 RDF/XML 형태의 정보로 인코딩/디코딩(Encoding/Decoding)하는 기능을 수행한다. 또한, 입출력 정보가 미들웨어에서 처리하기에 적합하지 않은 형태일 경우나 잘못 전송된 경우 해당 정보를 필터링(Filtering)하는 기능을 수행한다. 또한, 동시에 여러 신호가 전송되었을 경우, 각 입력에 대한 기본적인 상황정보에 따라 데이터의 흐름 및 서비스나 다른 번들로의 전송에 대한 스케쥴링 기능을 수행한다. 또한, 장소별 서비스 세션 구성을 통한 서비스 관리 및 스케쥴링 기능을 수행한다. The interface / service controller 50 is provided with various types of context information (control signals (device control, service mode, system settings, etc.) input from the MMI and service request signals (information request) and sensors in the home. Transmits the input sensor signal into a common format and transmits it to another bundle. In addition, the sensor performs a classification and management with the basic data according to the classification and user input for each sensor input. In addition, it performs a function of encoding / decoding the data in the input / output situation into information in the form of RDF / XML. In addition, when the input / output information is in a form that is not suitable for processing by the middleware or is incorrectly transmitted, the corresponding information is filtered. In addition, when several signals are transmitted at the same time, it performs scheduling function for data flow and transmission to a service or another bundle according to basic context information about each input. In addition, it performs service management and scheduling function by configuring a service session for each location.

서비스 제어기(50)는 인터페이스로서의 역할과 서비스 관리 기능을 수행하는데, 이하에서는 서비스 제어기(Service Controller)의 인터페이스 기능을 인터페이스 제어기(Interface Controller)에서 수행하는 것으로 구분하여 설명한다. 그러나, 인터페이스 제어기와 서비스 제어기는 하나의 모듈로 구성 가능함에 유의하여야 한다. The service controller 50 performs a role as an interface and a service management function. Hereinafter, an interface function of a service controller will be described as being performed by an interface controller. However, it should be noted that the interface controller and the service controller can be configured as one module.

세션 매니저(Session Manager)(40)는 사용자별 세션(등록 서비스 및 사용 중인 서비스에 대한 상태정보)의 생성, 삭제, 관리를 통해 끊김없는(Seamless) 서비스를 제공하는 기능을 수행한다. 또한, 각 사용자에 대한 로그온/오프(Log-On/Off) 관리 기능 및 사용자 위치에 따른 서비스 적용 상황에 대한 관리 기능을 수행한다. 또한, 각 사용자별 서비스 상태 모니터링과 추론엔진(30)에서 정의된 정책에 기반하여 사용자 세션 정보를 관리하는 기능을 수행한다. 또한, 특정 사용자에 대한 서비스 등록/해제 및 서비스 제공 가능 여부를 검사하는 기능을 수행한다. 또한, 끊김없는(Seamless) 서비스 제공을 위해 사용자가 서비스 종료시, 상태 정보를 저장하고 서비스 재시작 여부를 검사하는 기능을 수행한다. The session manager 40 performs a function of providing a seamless service by creating, deleting, and managing user-specific sessions (status information on a registration service and a service in use). In addition, it performs a log-on / off management function for each user and a service application status according to the user location. In addition, it performs a function of managing user session information based on the service status monitoring for each user and the policy defined in the inference engine 30. In addition, it performs a function of checking the service registration / cancellation and service provision for a specific user. In addition, to provide a seamless service, when the user terminates the service, the user stores state information and checks whether the service is restarted.

쿼리 매니저(Query Manager)(20)는 다중 사용자 처리를 위한 상황정보를 저장 및 관리하는 기능을 수행한다. 또한, 추론 결과의 상황을 저장 및 관리하고 DBMS 내의 메타데이터를 검색하는 기능을 수행한다. 또한, 다양한 형태의 메타데이터 정보를 관리하고, 동작을 위한 중간데이터를 관리하며, 지식 레퍼지토리(10)의 각종 메타데이터를 관리하는 기능을 수행한다. 또한, 추론엔진(30)에서 요구하는 정보 및 서비스를 위한 적절한 형태의 쿼리를 생성 및 관리하는 기능을 수행한다. 또한, 룰(Rule)과 관계성에 기반한 의미정보 추출과 추출된 의미정보를 상황정보 온톨로지 기반의 인스턴스로 변환하여 저장하는 기능을 수행한다. The query manager 20 stores and manages context information for multi-user processing. In addition, it saves and manages the inference result and retrieves metadata in the DBMS. Also, it manages various types of metadata information, manages intermediate data for operation, and manages various metadata of the knowledge repository 10. In addition, the inference engine 30 performs a function of generating and managing an appropriate type of query for information and services required by the inference engine 30. Also, it extracts semantic information based on rule and relationship and converts extracted semantic information into instance based on situation information ontology.

지식 레퍼지토리(Knowledge Repository)(10)는 홈네트워크 환경에서 필요한 사용자 및 각종 디바이스(Device) 관련 정보, 사용자에게 지식기반 서비스를 제공하기 위한 정보, 서비스 제공을 위한 시간 정보 등을 저장, 관리하고, 각 기능별로 필요한 관계성을 기술한 온톨로지 기반의 사용자 상황정보(Context)를 관리하고 서비스 정보를 관리한다. The Knowledge Repository 10 stores and manages user and various device related information, information for providing a knowledge-based service to a user, time information for providing a service, and the like, required for a home network environment, It manages ontology-based user context and service information describing the relationship required for each function.

사용자의 서비스 이용시, 미들웨어 번들의 동작 과정은 도 3과 같다. When the user uses the service, the operation of the middleware bundle is shown in FIG. 3.

본 상황인지 지식서비스 시스템으로의 입력은 크게 다음 2가지의 경우로 나눌 수 있다. The input to the knowledge service system can be divided into the following two cases.

첫 번째는, PDA, 핸드폰 등의 사용자 단말 또는 홈패드(Homepad), 월패드(Wallpad), 인터넷 등을 통해 직접 입력되는 경우(사용자 단말 등을 통한 직접 입력)이다. 이 경우는 사용자가 사용자 단말의 서비스 UI(User Interface) 등을 통해 자신이 제공받고자 하는 서비스(기기제어, 식사모드, 취침모드 등의 서비스 모드, 시스템 설정(우선순위, 기기 접근 레벨, 보안 레벨, 지능적 레벨 등의 정책 설정) 등)를 직접 선택(명령어 입력)하거나, 어떤 정보(댁내의 환경정보, 다른 사용자의 스케쥴 등의 정보 요청)를 얻고자 할 경우이다. The first is a case where a user terminal such as a PDA or a mobile phone is directly input through a home pad, a wall pad, or the internet (direct input through a user terminal). In this case, the service that the user wants to receive through the service UI (User Interface) of the user terminal (service control such as device control, meal mode, sleep mode, system setting (priority, device access level, security level, Policy setting such as intelligent level), or the like, or to obtain certain information (information request for environment information, schedules of other users, etc.).

두 번째는, 서비스 환경에 구축된 센서로부터 전송되어오는 상황정 보(Context)가 본 상황인지 지식서비스 시스템으로 자동으로 전송되어 질 경우(센서 입력을 통한 자동 입력)이다. 예를 들어, 서비스 환경이 구축된 곳에서 각 지역(Spot)별로 위치한 센서가 사용자의 위치를 감지하거나, 환경정보(온도, 습도, 조도)를 주기적으로 전송하는 경우를 들 수 있다. The second is when the context transmitted from the sensor constructed in the service environment is automatically transmitted to the knowledge service system (automatic input through sensor input). For example, in a case where a service environment is established, a sensor located for each spot senses a user's location or periodically transmits environmental information (temperature, humidity, and illuminance).

이러한 두 가지 경우의 입력(사용자 단말, Homepad/Wallpad, 인터넷 등을 통한 직접 입력, 센서로부터의 자동 입력)이 있을 경우, 지식 기반 서비스 제공을 위한 각 미들웨어 번들의 데이터 처리 과정은 다음과 같다. 이하에서는 명령어 입력, 정보 요청, 센서 입력에 따른 처리 과정을 구분하여 설명하기로 한다. When there are two types of inputs (direct input through a user terminal, Homepad / Wallpad, Internet, and automatic input from a sensor), data processing of each middleware bundle for providing a knowledge base service is as follows. Hereinafter, the processing according to the command input, the information request, and the sensor input will be described separately.

먼저, 명령어(Command) 입력에 대한 데이터 처리 과정을 살펴보면 다음과 같다. First, the data processing process for command input is as follows.

우선, 사용자 단말, Homepad/Wallpad, 인터넷 등을 통해 명령어(기기제어, 서비스 모드(예로서, 식사모드, 취침모드 등), 시스템 설정 등)가 입력되면, 입력 데이터(Command)는 XML로 변환되어 인터페이스 제어기(Interface Controller)(50)의 소켓으로 전송되고, XML 파서(Parser)를 통해 시스템 내부에서 이용할 수 있는 데이터로 파싱(Parsing)된다. First, when a command (device control, service mode (eg, meal mode, sleep mode, etc.), system setting, etc.) is input through a user terminal, a Homepad / Wallpad, or the Internet, the input data (Command) is converted into XML. The data is transmitted to a socket of an interface controller 50 and parsed into data available inside the system through an XML parser.

이후에, 인터페이스 제어기(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)로 전송된다. Thereafter, the interface controller 50 analyzes the data (command) parsed through the interfacing engine and classifies the data according to the type of service (device control, service mode, system setting, etc.). At this time, the classified data is transmitted to the corresponding bundle according to the service type (device control, service mode, system setting, etc.). That is, in case of device control, data [user ID and device name] is transmitted to the inference engine 30, and in case of system setting, user ID and policy set by the user [Priority, device Access level (Device Access Level), Security Level (Security Level), Intelligence Level (Intelligence Level) are transmitted to the inference engine 30, in the case of the service mode, data [User ID, Service Name (Service) Name) and Service Status] are transmitted to the service controller 50.

따라서, 분류 결과, 기기제어인 경우, 정책적 측면(사용자 우선순위 및 사용권한 등)을 고려하기 위해, 추론엔진(Reasoning Engine)(30)으로 데이터[즉, 사용자 ID(User ID), 기기 이름(Device Name)]가 전송된다. 또한, 시스템 설정인 경우, 사용자 ID 및 사용자가 설정한 정책[우선순위(Priority), 기기 접근 레벨(Device Access Level), 보안 레벨(Security Level), 지능적 레벨(Intelligence Level)]이 추론엔진(30)으로 전송된다. Therefore, in the classification result, in the case of device control, in order to consider the policy aspect (user priority and permission, etc.), the reasoning engine 30 transmits data (that is, user ID, device name ( Device Name)] is transmitted. In addition, in the case of system setting, the user ID and the policy set by the user (Priority, Device Access Level, Security Level, Intelligence Level) are the inference engine (30). Is sent).

분류 결과, 서비스 모드인 경우, 서비스 제어기(Service Controller)(50)로 데이터[사용자 ID(User ID), 서비스 이름(Service Name), 서비스 상태(Service Status)]가 전송되어, 서비스 제어기(50)에서 서비스에 대한 정보를 분석한다. 이때, 서비스 제어기(50)는 해당 서비스에 대한 등록 여부 및 구성, 스케쥴링에 대하여 서비스 제공 적절성 여부를 검사하게 된다. 그리고, 서비스에 대한 적절성 여부가 결정되면, 서비스 제어기(50)는 사용자 ID(UserID)와 서비스 정보(서비스 이름 및 서비스 상태)를 세션 매니저(Session Manager)(40)로 전송하고, 세션 매니저(40)는 사용자별 세션을 생성하고, 서비스 상태 및 제공 여부를 결정하여 추론엔진(30)으로 전송한다. As a result of the classification, in the service mode, data [User ID, Service Name, Service Status] is transmitted to the service controller 50, and the service controller 50 is transmitted. Analyzes information about services At this time, the service controller 50 checks whether service provision is appropriate for registration, configuration, and scheduling of the corresponding service. When it is determined whether the service is appropriate or not, the service controller 50 transmits a user ID (UserID) and service information (service name and service status) to the session manager 40, and the session manager 40. ) Creates a session for each user, determines the service state and whether to provide it, and transmits it to the inference engine 30.

이를(서비스 모드인 경우) 구체적으로 살펴보면, 서비스 제어기(50)는 서비스 관리 기능을 통해 서비스 분석을 수행한다. 이때, 서비스 분석이라 함은, 서비스의 등록 여부 및 서비스가 해당 위치에서 해당 사용자에게 제공될 수 있는지의 적절성 여부를 판단하는 것을 의미한다. 만일, 해당 위치에서 우선순위가 높은 다른 서비스가 이미 수행중이거나 해당 사용자에게 권한이 주어지지 않은 서비스라면 이 단계에서 서비스 요청은 중단되고 사용자에게 제공할 수 없다는 메시지를 전송한다. 그러나, 현재 요청된 서비스의 우선순위가 이미 제공되고 있는 서비스보다 높거나, 해당 사용자에게 등록된 적절한 서비스라면 서비스 제어기(50)는 서비스를 스케쥴러에 등록하게 된다. 서비스 스케쥴러는 위치, 사용자별 서비스 정보를 관리하여 한 위치에서 동시에 여러 서비스가 수행되려 하거나 한 사용자에게 제공되는 서비스가 중복될 경우, 서비스 충돌을 방지하는 역할을 수행한다. 따라서, 서비스 제어기(50)는 서비스 지역(spot)에서 충돌 발생을 방지하기 위한 정책(우선순위, 기기 접근 레벨, 보안 레벨, 지능적 레벨)을 추론엔진(30)에 호출하여 가져와, 서비스 스케쥴링을 수행한다. Specifically, in the case of the service mode, the service controller 50 performs service analysis through a service management function. In this case, the service analysis means determining whether the service is registered and whether the service can be provided to the user at the corresponding location. If another service with a higher priority at the location is already running or the service is not authorized to the user, the service request is aborted at this stage and a message is not provided to the user. However, if the priority of the currently requested service is higher than the service already being provided or the appropriate service registered to the user, the service controller 50 registers the service in the scheduler. The service scheduler manages service information for each location and user to prevent service conflicts when multiple services are simultaneously executed at one location or services provided to a user are duplicated. Accordingly, the service controller 50 calls a policy (priority, device access level, security level, intelligent level) to prevent the occurrence of a collision in the service spot to the inference engine 30 to perform service scheduling. do.

이후, 서비스 스케쥴러에 의해 서비스가 결정되면, 서비스 제공을 위한 정보[사용자 ID, 서비스 정보(서비스 이름 및 상태)]가 세션 매니저(Session Manager)(40)로 전송되고, 세션 매니저(40)는 사용자별 세션을 생성하고, 서비스 상태 및 제공 여부를 결정하여 추론엔진(30)으로 전송한다. 여기서, 세션 매니저(40)는 서비스 상태 및 제공 여부를 결정함에 있어서, 서비스 제어기(50)로부터 사용자 ID, 서비스 이름, 서비스 상태를 변수값으로 입력받아, 입력된 정보를 파싱 한 후, 사용자 ID를 키워드(Keyword)로 사용하여 세션의 상태를 검사(Checking)하게 된다. 즉, 해당 사용자가 이용하던 서비스가 있는지, 서비스의 최종 상태는 어떠한지에 대한 정보를 쿼리 매니저(20)를 통해 지식 레퍼지토리(10)의 세션 데이터 테이블(Session Data Table)로부터 얻게 된다. Then, when the service is determined by the service scheduler, information for providing the service (user ID, service information (service name and status)) is transmitted to the session manager 40, and the session manager 40 is a user. Creates a separate session, determines the service state and whether to provide it to the inference engine 30. Here, the session manager 40 receives a user ID, a service name, and a service state from the service controller 50 as variable values in determining the service state and whether to provide the service, parses the input information, and then stores the user ID. It is used as a keyword to check the state of the session. That is, information about whether there is a service used by the corresponding user and what the final state of the service is is obtained from the session data table of the knowledge repository 10 through the query manager 20.

한편, 추론엔진(30)은 입력된 서비스 및 정보를 검토한 후 해당 정책을 적용하기 위해 쿼리 매니저(Query Manager)(20)로 데이터를 전송한다. 그러면, 쿼리 매니저(20)는 적절한 쿼리(Query)를 생성하고, 생성된 쿼리를 지식 레퍼지토리(10)의 온톨로지(Ontology)로 전송하여 정보를 얻은 후[상황정보 매니저의 역할], 다시 추론엔진(30)으로 전송한다. 이후, 추론엔진(30)은 서비스 및 제어될 기기가 결정되면 해당 데이터(기기제어 정보)를 디바이스 제어기(Device Controller)로 전송하고 처리 결과를 인터페이스 제어기(50)로 전송하여, 사용자에게 서비스를 제공토록 한다. 이때, 기기 제어가 필요할 경우 디바이스 제어기로 해당 서비스에 대한 기기 제어 목록 및 Property를 전송하여 기기를 제어하게 된다.Meanwhile, the inference engine 30 transmits data to the query manager 20 to apply the corresponding policy after reviewing the input service and information. Then, the query manager 20 generates an appropriate query, transmits the generated query to the ontology of the knowledge repository 10 to obtain information [role of the situation information manager], and then the inference engine. Transfer to 30. After that, when the device to be serviced and controlled is determined, the inference engine 30 transmits the corresponding data (device control information) to the device controller and transmits the processing result to the interface controller 50 to provide a service to the user. Do it. At this time, if device control is necessary, the device is controlled by transmitting a device control list and a property for the corresponding service to the device controller.

즉, 명령어가 서비스 모드 입력인 경우, 추론엔진(30)은 입력에 대한 적절성 여부를 판단하고, 해당 서비스를 제공하기 위한 동작을 수행하게 된다. 즉, 세션 매니저(40)로부터 사용자 ID, 서비스 이름(Service Name), 서비스 상태(Service State)가 변수값으로 입력되면, 입력된 정보를 룰 엔진(Rule Engine)에서 쿼리 매니저(20)를 통해 온톨로지(Ontology)로 업데이트하고, 업데이트된 온톨로지(Ontology)로 쿼리(Query)를 전송하여 해당 서비스에 대해 제어될 기기 및 표시될 정보를 수집하게 된다[추론엔진(30)이 쿼리 매니저(20)를 통해 온톨로지를 업데 이트하고 업데이트된 온톨로지로부터 정보를 수집하게 됨]. 이때, 수집된 정보는 다양한 정책(보안 레벨, 기기 접근 레벨, 우선순위, 지능적 레벨)을 이용하여 필터링(Filtering)되고, 이러한 정책 정보(보안 레벨, 기기 접근 레벨, 우선순위, 지능적 레벨)를 토대로 서비스 및 정보를 결정하고 디바이스 제어기 및 인터페이스 제어기(50)에서 이용 가능한 값으로 파싱(Parsing)되어 전달된다. That is, when the command is a service mode input, the inference engine 30 determines whether the input is appropriate and performs an operation for providing a corresponding service. That is, when a user ID, a service name, and a service state are input from the session manager 40 as variable values, the information is input through the query manager 20 in the rule engine. (Ontology), and transmits a query to the updated ontology to collect the device to be controlled and information to be displayed for the service (the inference engine 30 through the query manager 20) Update the ontology and collect information from the updated ontology]. At this time, the collected information is filtered using various policies (security level, device access level, priority, intelligent level), and based on such policy information (security level, device access level, priority, intelligent level). The service and information are determined and parsed and delivered to values available at the device controller and interface controller 50.

또한, 명령어가 기기제어 입력의 경우, 추론엔진(30)은 입력에 대한 적절성 여부를 판단하고, 해당 서비스를 제공하기 위한 동작을 수행하게 된다. 즉, 추론엔진(30)은 사용자 ID와 기기 이름(Device Name)을 인터페이스 제어기(50)로부터 입력받아, 입력된 정보(사용자 ID, 기기 이름)를 쿼리 매니저(20)로 넘겨주고, 쿼리 매니저(20)가 이를 토대로 쿼리를 생성하여 온톨로지에 기기 접근 레벨(사용자 ID를 바탕으로 해당 사용자의 기기 접근 레벨을 가져옴)을 요청해서 그 결과를 반환받아 추론엔진(30)으로 전달하면, 추론엔진(30)에서는 수집된 정보(정책 중 사용자 기기 접근 레벨)를 바탕으로 기기의 제어 유무를 판단하여, 사용 가능할 경우 디바이스 제어기로 제어명령(온/오프)을 전송하고 처리 결과를 인터페이스 제어기(50)를 통해 사용자에게 알린다. 이때, 기기 제어가 필요할 경우 디바이스 제어기로 해당 서비스에 대한 기기 제어 목록 및 Property를 전송하여 기기를 제어하게 된다.In addition, when the command is a device control input, the inference engine 30 determines whether the input is appropriate and performs an operation for providing a corresponding service. That is, the inference engine 30 receives a user ID and a device name from the interface controller 50, passes the input information (user ID, device name) to the query manager 20, and sends a query manager ( 20) generates a query based on this, requests the ontology the device access level (gets the user access level of the user based on the user ID), returns the result and passes it to the inference engine 30, the inference engine (30) ) Determines whether the device is controlled based on the collected information (user device access level in the policy), and if available, transmits a control command (on / off) to the device controller and sends the processing result to the interface controller 50. Inform the user. At this time, if device control is necessary, the device is controlled by transmitting a device control list and a property for the corresponding service to the device controller.

또한, 명령어가 시스템 설정 입력의 경우, 추론엔진(30)은 사용자 ID, 사용자가 입력한 정책(우선순위, 기기 접근 레벨, 보안 레벨, 지능적 레벨)을 인터페이스 제어기(50)로부터 입력받아 쿼리 매니저(20)로 전달하고, 쿼리 매니저(20)는 추론엔진(30)으로부터 사용자 ID와 사용자가 설정한 정책(우선순위, 기기 접근 레벨, 보안 레벨, 지능적 레벨)을 전달받아 해당 사용자(사용자 ID를 바탕으로 함)의 정책을 온톨로지에 업데이트한다. 그리고, 추론엔진(30)은 인터페이스 제어기(50)를 통해 처리 결과(온톨로지 업데이트 결과)를 사용자에게 알린다. In addition, when the command is a system setting input, the inference engine 30 receives a user ID and a policy input by the user (priority, device access level, security level, intelligent level) from the interface controller 50, and executes a query manager ( 20), the query manager 20 receives the user ID and the policy set by the user (priority, device access level, security level, intelligent level) from the inference engine 30 based on the corresponding user (user ID) To the ontology. The inference engine 30 notifies the user of the processing result (ontology update result) through the interface controller 50.

이제, 정보 요청에 대한 데이터 처리 과정을 살펴보기로 한다. Now, let's look at the data processing process for the information request.

사용자 단말, Homepad/Wallpad, 인터넷 등을 통해 정보(예로서, 댁내의 환경정보, 스케쥴, 프로파일, 서비스 레벨, 보안 레벨 등)의 요청이 있는 경우, 마찬가지로 사용자 단말 등에서 XML로 변환된 정보요청 메시지가 보내진다. 이후, XML로 변환된 데이터(정보 요청 메시지)는 인터페이스 제어기(Interface Controller)(50)의 소켓으로 전송되고, XML 파서(Parser)를 통해 시스템 내부에서 이용할 수 있는 데이터로 파싱(Parsing)된다. When there is a request for information (eg, home environment information, schedule, profile, service level, security level, etc.) through a user terminal, a homepad / wallpad, or the Internet, an information request message converted into XML from the user terminal is similarly displayed. Is sent. Thereafter, the data converted into XML (information request message) is transmitted to the socket of the interface controller 50, and parsed into data that can be used in the system through the XML parser.

이후에, 인터페이스 제어기(50)는 인터페이싱 엔진(Interfacing Engine)을 통해 파싱(Parsing)된 데이터[사용자 ID, 쿼리 이름, 정보 이름]를 분석하여(이 경우 정보 요청임을 인지함) 추론엔진(Reasoning Engine)(30)으로 전송한다. Subsequently, the interface controller 50 analyzes the parsed data [user ID, query name, information name] through the interfacing engine (recognizes that it is an information request in this case) and a reasoning engine. (30).

이후, 추론엔진(30)은 입력된 정보[사용자 ID, 쿼리 이름, 정보 이름]를 검토[보안 레벨 및 기기 접근 레벨에 따라 입력에 대한 적절성 여부를 검토함]한 후 해당 정책을 적용하기 위해 쿼리 매니저(Query Manager)(20)로 데이터(정보 요청 메시지)를 전송하며, 쿼리 매니저(20)는 적절한 쿼리(Query)를 생성하고 생성된 쿼리를 지식 레퍼지토리(10)의 온톨로지(Ontology)로 전송하여 정보를 얻은 후, 다시 추론엔진(30)으로 전송한다. 이후, 시스템에서 제공할 정보는 인터페이스 제어기(Interface Controller)(50)를 통해 사용자에게 전송된다. 즉, 정보 요청의 경 우, 쿼리 매니저(20)는 추론엔진(30)에서 요청하는 사용자가 요청한 정보를 온톨로지에서 가져와 추론엔진(30)으로 전송한다. 그러면, 추론엔진(30)은 사용자가 요청한 정보를 수집하여 정책(보안레벨, 우선순위)에 따라 정보를 결정하여, 인터페이스 제어기(50)를 통해 사용자에게 전송한다. Thereafter, the inference engine 30 reviews the input information [user ID, query name, information name] [reviews whether the input is appropriate according to security level and device access level], and then queries to apply the corresponding policy. Data (information request message) is sent to the query manager 20, and the query manager 20 generates an appropriate query and transmits the generated query to the ontology of the knowledge repository 10. After obtaining the information, it is transmitted back to the inference engine (30). Thereafter, the information to be provided by the system is transmitted to the user through the interface controller 50. That is, in the case of an information request, the query manager 20 obtains the information requested by the user requesting from the inference engine 30 from the ontology and transmits the information to the inference engine 30. Then, the inference engine 30 collects the information requested by the user, determines the information according to the policy (security level, priority), and transmits the information to the user through the interface controller 50.

마지막으로, 센서 입력에 대한 데이터 처리 과정을 살펴보기로 한다. Finally, we will look at the data processing process for the sensor input.

센서로부터의 상황정보(Context) 입력시, 상황인지 지식서비스 시스템은 사용자의 위치에 따른 서비스를 제공하기 위해 사용자의 위치가 센서로부터 전송되면[이 경우, 센서의 위치 좌표가 입력되면 사용자의 위치를 센서 위치 좌표로 간주하게 됨] 서비스 지역(Spot)에 따라 사용자의 선호환경(사용자가 원하는 온도, 습도, 조명, 영화, 음악 등)이 제공되도록 한다. When context information is input from the sensor, the context-aware knowledge service system transmits the user's location when the user's location is transmitted from the sensor to provide a service according to the user's location [in this case, when the sensor's location coordinates are input. Sensor location coordinates] According to the service area (Spot), the user's preferred environment (temperature, humidity, lighting, movies, music, etc. desired by the user) is provided.

이를 구체적으로 살펴보면, 각각의 서비스 지역(예로서, 거실, 안방, 현관 등)에 위치한 센서에서 사용자를 감지할 경우[즉, 사용자의 위치가 변하거나 서비스 지역의 상태가 변하는 경우 등], 해당 센서는 인터페이스 제어기(Interface Controller)(50)의 리스너(Listener)로 센서 정보(센서의 위치 좌표 정보)를 전송한다. 그러면, 인터페이스 제어기(50)는 센서로부터 전송된 데이터(센서 정보)가 중복되거나 손상되었을 경우 이를 필터링(Filtering)한 후, 추론엔진(Reasoning Engine)(30)의 API로 데이터[사용자 ID, 센서 데이터, 사용자 위치]를 전송한다. Specifically, when a user is detected by a sensor located in each service area (for example, a living room, a room, a front door, etc.) (that is, when the user's location changes or the state of the service area changes), the corresponding sensor The sensor transmits sensor information (position coordinate information of the sensor) to a listener of the interface controller 50. Then, if the data transmitted from the sensor (sensor information) is duplicated or damaged, the interface controller 50 filters the filtered data, and then transmits the data [user ID, sensor data to the API of the inference engine 30]. , User location].

이후, 추론엔진(30)은 센서 정보를 참조하여 해당 지역(예로서, 거실, 안방, 현관 등)에서 어떤 서비스를 제공할지에 대한 결정을 내린다. 이때, 서비스의 결정은 지식 레퍼지토리(Knowledge Repository)(10)의 온톨로지(Ontology)를 참조하여 결정하게 된다. 즉, 추론엔진(30)은 입력된 센서 정보를 검토한 후 해당 정책을 적용하기 위해 쿼리 매니저(Query Manager)(20)로 데이터를 전송하고, 쿼리 매니저(20)는 적절한 쿼리(Query)를 생성한 후 생성된 쿼리를 지식 레퍼지토리(10)의 온톨로지(Ontology)로 전송하여 정보를 얻은 후, 다시 추론엔진(30)으로 전송한다. 따라서, 추론엔진(30)은 센서의 위치를 기반으로 사용자의 위치를 추론하게 되고, 해당 사용자에게 제공될 서비스에 대한 제어기기 정보를 수집하게 된다. 이후에, 추론엔진(30)은 서비스가 결정되면 해당 서비스 정보[사용자 ID, 서비스 이름(선호환경 서비스), 서비스 상태값(사용자의 위치가 포함)]를 서비스 제어기(Service Controller)(50)로 전송한다. Thereafter, the inference engine 30 determines the service to be provided in the corresponding area (eg, living room, home room, entrance hall, etc.) with reference to the sensor information. At this time, the service is determined by referring to the ontology of the Knowledge Repository 10. That is, the inference engine 30 sends the data to the query manager 20 to review the input sensor information and apply the corresponding policy, and the query manager 20 generates an appropriate query. After that, the generated query is transmitted to the ontology of the knowledge repository 10 to obtain information, and then transmitted to the inference engine 30 again. Therefore, the inference engine 30 infers the location of the user based on the location of the sensor, and collects controller information on the service to be provided to the user. Subsequently, when the service is determined, the inference engine 30 transmits the corresponding service information [user ID, service name (preferred environment service), service status value (including user's location)] to the service controller 50. send.

여기서, 추론엔진(30)에 입력된 정보는 룰 엔진에서 쿼리 매니저(20)를 통해 온톨로지로 업데이트되고, 업데이트된 온톨로지로 쿼리를 전송하여 해당 위치의 사용자를 추론하고 다시 사용자에게 제공될 서비스에 대한 제어 기기 정보를 수집한다. 이러한 기기 정보에 정책(보안 레벨, 기기 접근 레벨, 우선순위, 지능적 레벨)을 적용하여 서비스를 결정하게 된다. 이때, 쿼리 매니저(20)는 추론엔진(30)의 요청에 따라 센서의 위치에 따른 사용자의 위치값을 온톨로지에서 가져와 추론엔진(30)으로 전송한다. In this case, the information input to the inference engine 30 is updated to the ontology through the query manager 20 in the rule engine, infers the user of the location by transmitting the query to the updated ontology, and again about the service to be provided to the user Collect control device information. The service is determined by applying a policy (security level, device access level, priority, intelligent level) to such device information. At this time, the query manager 20 obtains the position value of the user according to the position of the sensor from the ontology and transmits it to the inference engine 30 according to the request of the inference engine 30.

이후, 서비스 제어기(50)는 해당 서비스에 대한 등록 여부 및 구성, 스케쥴링에 대하여 서비스 제공 적절성 여부를 검사한 후, 세션 매니저(Session Manager)(40)로 데이터(사용자 ID, 서비스 이름, 서비스 상태)를 전송하여, 해당 세션에 사용자와 서비스 상태 정보를 등록시키게 된다. Thereafter, the service controller 50 checks whether service provision is appropriate for registration, configuration, and scheduling of the corresponding service, and then transmits data (user ID, service name, service status) to the session manager 40. By sending, the user and service status information are registered in the session.

여기서, 서비스에 대한 적절성 여부가 결정되면, 서비스 제어기(50)는 사용자 ID(UserID)와 서비스 정보(서비스 이름 및 상태)를 세션 매니저(Session Manager)(40)로 전송하고, 세션 매니저(40)는 사용자별 세션을 생성하고, 서비스 상태 및 제공 여부를 결정하여 추론엔진(30)으로 전송한다. Here, if it is determined whether the service is appropriate, the service controller 50 transmits a user ID (UserID) and service information (service name and status) to the session manager 40, and the session manager 40. Creates a session for each user, determines the service state and whether to provide it to the inference engine 30.

이를 구체적으로 살펴보면, 서비스 제어기(50)는 서비스 관리 기능을 통해 서비스 분석을 수행한다. 이때, 서비스 분석이라 함은, 서비스의 등록 여부 및 서비스가 해당 위치에서 해당 사용자에게 제공될 수 있는지의 적절성 여부를 판단하는 것을 의미한다. 만일, 해당 위치에서 우선순위가 높은 다른 서비스가 이미 수행중이거나 해당 사용자에게 권한이 주어지지 않은 서비스라면 이 단계에서 서비스 요청은 중단되고 사용자에게 제공할 수 없다는 메시지를 전송한다. 그러나, 현재 요청된 서비스의 우선순위가 이미 제공되고 있는 서비스보다 높거나, 해당 사용자에게 등록된 적절한 서비스라면 서비스 제어기(50)는 서비스를 스케쥴러에 등록하게 된다. 서비스 스케쥴러는 위치, 사용자별 서비스 정보를 관리하여 한 위치에서 동시에 여러 서비스가 수행되려 하거나 한 사용자에게 제공되는 서비스가 중복될 경우, 서비스 충돌을 방지하는 역할을 수행한다. 따라서, 서비스 제어기(50)는 서비스 지역(spot)에서 충돌 발생을 방지하기 위한 정책(우선순위, 기기 접근 레벨, 보안 레벨, 지능적 레벨)을 추론엔진(30)에 호출하여 가져와, 서비스 스케쥴링을 수행한다. Specifically, the service controller 50 performs service analysis through a service management function. In this case, the service analysis means determining whether the service is registered and whether the service can be provided to the user at the corresponding location. If another service with a higher priority at the location is already running or the service is not authorized to the user, the service request is aborted at this stage and a message is not provided to the user. However, if the priority of the currently requested service is higher than the service already being provided or the appropriate service registered to the user, the service controller 50 registers the service in the scheduler. The service scheduler manages service information for each location and user to prevent service conflicts when multiple services are simultaneously executed at one location or services provided to a user are duplicated. Accordingly, the service controller 50 calls a policy (priority, device access level, security level, intelligent level) to prevent the occurrence of a collision in the service spot to the inference engine 30 to perform service scheduling. do.

이후, 서비스 스케쥴러에 의해 서비스가 결정되면, 서비스 제공을 위한 정보[사용자 ID, 서비스 정보(서비스 이름 및 상태)]가 세션 매니저(Session Manager)(40)로 전송되고, 세션 매니저(40)는 사용자별 세션을 생성하고, 서비스 상태 및 제공 여부를 결정하여 추론엔진(30)으로 전송한다. 여기서, 세션 매니저(40)는 서비스 상태 및 제공 여부를 결정함에 있어서, 서비스 제어기(50)로부터 사용자 ID, 서비스 이름(선호환경 서비스), 서비스 상태(사용자의 위치가 포함됨)를 변수값으로 입력받아, 입력된 정보를 파싱한 후, 사용자 ID를 키워드(Keyword)로 사용하여 세션의 상태를 검사(Checking)하게 된다. 즉, 해당 사용자가 이용하던 서비스가 있는지, 서비스의 최종 상태는 어떠한지에 대한 정보를 쿼리 매니저(20)를 통해 지식 레퍼지토리(10)의 세션 데이터 테이블(Session Data Table)로부터 얻게 된다. Then, when the service is determined by the service scheduler, information for providing the service (user ID, service information (service name and status)) is transmitted to the session manager 40, and the session manager 40 is a user. Creates a separate session, determines the service state and whether to provide it to the inference engine 30. Here, the session manager 40 receives a user ID, a service name (preferred environment service), and a service state (including the user's location) from the service controller 50 in determining the service state and whether to provide the service as a variable value. After parsing the entered information, the state of the session is checked using the user ID as a keyword. That is, information about whether there is a service used by the corresponding user and what the final state of the service is is obtained from the session data table of the knowledge repository 10 through the query manager 20.

다음으로, 추론엔진(30)은 입력된 서비스 및 정보를 검토한 후 해당 정책을 적용하기 위해 쿼리 매니저(Query Manager)(20)로 데이터를 전송한다. 그러면, 쿼리 매니저(20)는 적절한 쿼리(Query)를 생성하고, 생성된 쿼리를 지식 레퍼지토리(10)의 온톨로지(Ontology)로 전송하여 정보를 얻은 후[상황정보 매니저의 역할], 다시 추론엔진(30)으로 전송한다. 이후, 추론엔진(30)은 서비스 및 제어될 기기가 결정되면 해당 데이터(기기제어 정보)를 디바이스 제어기(Device Controller)로 전송하여 기기를 제어하고 인터페이스 제어기(50)를 통해 사용자에게 센서 인식으로 인한 서비스 처리결과를 알린다. 즉, 추론엔진(30)은 쿼리 매니저(20)를 통해 온톨로지로부터 해당 사용자의 정책(보안 레벨, 기기 접근 레벨, 우선순위, 지능적 레벨)을 수집하고, 이를 토대로 디바이스 제어기(Device Controller)를 통해 기기를 제어하고 인터페이스 제어기(50)를 통해 센서 인식으로 인한 서비스 처리결과를 알린다. 이때, 기기 제어가 필요할 경우 디바이스 제어기로 해당 서비스에 대한 기기 제어 목록 및 Property를 전송하여 기기를 제어하게 된다.Next, the inference engine 30 sends the data to the query manager 20 to apply the corresponding policy after reviewing the input service and information. Then, the query manager 20 generates an appropriate query, transmits the generated query to the ontology of the knowledge repository 10 to obtain information [role of the situation information manager], and then the inference engine. Transfer to 30. After that, when the device to be serviced and controlled is determined, the inference engine 30 transmits corresponding data (device control information) to the device controller to control the device, and the user can recognize the sensor through the interface controller 50. Inform the service processing result. That is, the inference engine 30 collects the user's policy (security level, device access level, priority, intelligent level) from the ontology through the query manager 20, and based on the device, the device is controlled through the device controller. And informs the service processing result due to sensor recognition through the interface controller 50. At this time, if device control is necessary, the device is controlled by transmitting a device control list and a property for the corresponding service to the device controller.

정리해보면, 상황인지 지식서비스 시스템은, 사용자 및 환경, 서비스와 시공간의 복합적 개념의 정보 및 사용자별 정책(보안 레벨, 기기 접근 레벨, 우선순위, 지능적 레벨)을 저장ㆍ관리하고 있는 지식 레퍼지토리(온톨로지)(10)와, 입력 데이터(기기제어, 서비스 모드, 시스템 설정을 포함하는 사용자 명령어, 정보 요청 메시지, 센서 입력 정보 중 어느 하나임)를 시스템 내부에서 이용할 수 있도록 파싱하여, 서비스 종류에 따라 분류하기 위한 인터페이스 제어기(50)와, 정책(보안 레벨, 기기 접근 레벨, 우선순위, 지능적 레벨)을 참조하여, 서비스 지역에서 사용자 간 또는 서비스 간 충돌 발생을 방지하기 위한 서비스 스케쥴링을 수행하기 위한 서비스 제어기(50)와, 서비스 스케쥴링에 따른 서비스 제공시, 사용자별 서비스 상태를 트랙킹하여 끊김없는(Seamless) 서비스를 제공하기 위한 세션 매니저(40)와, 지식 레퍼지토리(온톨로지)(10)로부터 수집된 정보를 토대로 제공될 서비스를 추론하고, 정책(보안 레벨, 기기 접근 레벨, 우선순위, 지능적 레벨)에 따라 해당 사용자의 서비스 제공 여부 및 제공 수준을 동적으로 제어하기 위한 추론엔진(30)과, 추론엔진(30)의 요청에 따라 쿼리를 생성하여 지식 레퍼지토리(온톨로지)(10)에 질의하고 그 응답을 반환받기 위한 쿼리 매니저(20)를 포함한다. In summary, the context-aware knowledge service system is a knowledge repository that stores and manages information of users and environments, complex concepts of services and time and space, and user-specific policies (security level, device access level, priority, and intelligent level). Ontology) 10 and input data (any one of device control, service mode, user command including system setting, information request message, and sensor input information) are parsed for use in the system, and classified according to service type. Service controller for performing service scheduling to prevent a collision between users or services in a service area by referring to an interface controller 50 for performing the operation and a policy (security level, device access level, priority, and intelligent level). 50 and, when providing a service according to service scheduling, seamlessly tracks the service state for each user (S Infer the service to be provided based on the information collected from the session manager 40 and the knowledge repository (ontology) 10 for providing the eamless service, and the policy (security level, device access level, priority, intelligent level). Inquiry to the knowledge repository (ontology) 10 by generating a query according to the request of the inference engine 30 and the inference engine 30 to dynamically control whether or not the service provided by the user according to the It includes a query manager 20 for receiving the response.

여기서, 세션 매니저(40)는, 사용자와 서비스의 상태를 저장하여 서비스를 시작할 경우 세션을 등록하고, 서비스가 종료될 경우 최종 상태를 저장하여 다음에 서비스를 요청하면 최종 상태를 알려주어 서비스의 최종 상태에서부터 끊김없는 서 비스를 제공할 수 있도록 한다. Here, the session manager 40 registers a session when the service is started by storing the state of the user and the service, and stores the final state when the service is terminated, and informs the final state when the service is next requested. It provides a seamless service from the state.

특히, 서비스 제어기(50)는 입력 데이터가 서비스 모드 명령어 및 센서 입력 정보인 경우, 정책(보안 레벨, 기기 접근 레벨, 우선순위, 지능적 레벨)을 추론엔진(30)에 호출하여, 정책을 참조하여 서비스 스케쥴링을 수행한다. In particular, when the input data are service mode commands and sensor input information, the service controller 50 calls a policy (security level, device access level, priority, intelligent level) to the inference engine 30 to refer to the policy. Perform service scheduling.

그리고, 추론엔진(30)은, 입력 데이터가 기기제어 명령어인 경우, 인터페이스 제어기(50)로부터 사용자 ID와 기기 이름을 입력받아, 이를 바탕으로 생성된 쿼리를 통해 해당 서비스에 대해 제어될 기기 및 표시될 정보를 수집하여(쿼리 매니저(20)를 통해 수집함), 정책 중 기기 접근 레벨을 바탕으로 기기의 제어 유무를 판단하고, 사용 가능할 경우 디바이스 제어기(Device Controller)로 기기제어 명령을 전송하고 그 제어 결과를 인터페이스 제어기(50)를 통해 사용자에게 전달한다. When the input data is a device control command, the inference engine 30 receives a user ID and a device name from the interface controller 50, and displays the device and the device to be controlled for the corresponding service through a query generated based on the user ID. Collects information to be collected (collected through the query manager 20), determines whether the device is controlled based on the device access level among the policies, and transmits a device control command to the device controller if available. The control result is transmitted to the user through the interface controller 50.

또한, 추론엔진(30)은, 입력 데이터가 시스템 설정 명령어인 경우, 인터페이스 제어기(50)로부터 사용자 ID와 사용자가 설정한 정책(보안 레벨, 기기 접근 레벨, 우선순위, 지능적 레벨)을 입력받아, 사용자가 설정한 정책을 쿼리 매니저(20)를 통해 지식 레퍼지토리(온톨로지)(10)에 업데이트한다. 이때, 온톨로지 업데이트 결과를 인터페이스 제어기(50)를 통해 사용자에게 알릴 수 있다. In addition, when the input data is a system setting command, the inference engine 30 receives a user ID and a policy set by the user (security level, device access level, priority, intelligent level) from the interface controller 50, The policy set by the user is updated in the knowledge repository (ontology) 10 through the query manager 20. In this case, the ontology update result may be notified to the user through the interface controller 50.

또한, 추론엔진(30)은, 입력 데이터가 정보 요청 메시지인 경우, 인터페이스 제어기(50)로부터 사용자 ID, 쿼리 이름, 정보 이름을 입력받아, 이를 바탕으로 생성된 쿼리를 통해 지식 레퍼지토리(온톨로지)(10)로부터 사용자가 요청한 정보를 수집하여(쿼리 매니저(20)를 통해 수집함), 정책(보안 레벨, 기기 접근 레벨, 우선순위, 지능적 레벨)을 토대로 인터페이스 제어기(50)를 통해 사용자에게 전달한다. In addition, when the input data is an information request message, the inference engine 30 receives a user ID, a query name, and an information name from the interface controller 50, and uses a knowledge repository (ontology) through a query generated based on this. Collect the information requested by the user from the 10 (collected through the query manager 20) and deliver it to the user through the interface controller 50 based on the policy (security level, device access level, priority, intelligent level). do.

또한, 추론엔진(30)은, 입력 데이터가 서비스 모드 명령어인 경우, 세션 매니저(40)로부터 사용자 ID, 서비스 이름 및 서비스 상태를 입력받아, 쿼리 매니저(20)를 통해 해당 서비스에 대해 제어될 기기 및 표시될 정보를 수집하여, 정책(보안 레벨, 기기 접근 레벨, 우선순위, 지능적 레벨)을 토대로 디바이스 제어기로 기기제어 명령을 전송하고 그 제어 결과를 인터페이스 제어기(50)를 통해 사용자에게 전달한다. In addition, when the input data is a service mode command, the inference engine 30 receives a user ID, a service name, and a service state from the session manager 40, and the device to be controlled for the corresponding service through the query manager 20. And collect information to be displayed, and transmit a device control command to the device controller based on the policy (security level, device access level, priority, intelligent level) and transmit the control result to the user through the interface controller 50.

또한, 추론엔진(30)은, 입력 데이터가 센서 입력 정보인 경우, 센서의 위치를 기반으로 사용자의 위치를 추론하고 해당 사용자에게 제공될 서비스에 대한 제어기기 정보를 수집한 후, 서비스 제어기(50)로 사용자 ID, 서비스 이름, 서비스 상태를 전달하여, 서비스 제어기(50)에서 서비스 충돌이 없다고 판단되면, 정책(보안 레벨, 기기 접근 레벨, 우선순위, 지능적 레벨)을 바탕으로 디바이스 제어기로 기기제어 명령을 전송하고 그 제어 결과를 인터페이스 제어기(50)를 통해 사용자에게 알린다. In addition, when the input data is sensor input information, the inference engine 30 infers the location of the user based on the location of the sensor and collects controller information on the service to be provided to the user, and then the service controller 50. If the service controller 50 determines that there is no service conflict, the device controller is controlled by the device controller based on the policy (security level, device access level, priority, intelligent level). The command is transmitted and the control result is informed to the user through the interface controller 50.

이하에서는, 서비스 제어 장치[서비스 제어기(Service Controller)(50)]의 구성 및 동작에 대해 도 4 및 도 5를 참조하여 보다 상세하게 살펴보기로 한다. Hereinafter, the configuration and operation of the service control device (Service Controller 50) will be described in more detail with reference to FIGS. 4 and 5.

서비스 제어기(Service Controller)(50)는, 도 1에 도시된 바와 같이 OSGi 번들(Bundle) 형태로서 OSGi 프레임워크 상에 인스톨(Install)되어 실행된다. The service controller 50 is installed and executed on the OSGi framework in the form of an OSGi bundle as shown in FIG. 1.

서비스 제어기(50)는 다른 서비스 번들이 현재 사용자의 위치나 서비스 제공 상태에 대한 정보 요청이 가능하며, 또한 외부로부터 입력된 정보에 기반하여 다양한 서비스 번들을 호출하거나 추론엔진(30)으로 질의를 제공한다. The service controller 50 may request information about the current user's location or service providing status from another service bundle, and also call various service bundles or provide queries to the inference engine 30 based on information input from the outside. do.

특히, 서비스 제어기(50)는 사용자가 동시에 여러 가지 서비스를 이용할 경우, 서비스 실행시의 정책에 따라 서비스의 실행 순위를 결정하여 서비스를 제공하는 서비스 스케쥴링을 수행한다. 이때, 서비스 스케쥴링시 정책들을 관리하는 정책엔진(Policy Engine)을 참조하여 스케쥴링을 수행하게 된다. 정책엔진(Policy Engine)은 서비스 충돌 상황을 해결하기 위한 서비스 우선순위(Priority)와 보안 레벨(Security Level), 지능적 레벨(Intelligence Level) 등을 구현하여 이러한 정책에 따라 서비스의 선별적 또는 부분적 제공을 하도록 개발한다. 또한, 각각의 서비스에서 사용자에 대한 맞춤형 서비스의 구현을 위해 서비스와 사용자에 대한 세부적인 데이터를 필요로 하기 때문에 이를 위해 추론 엔진에 접속하여 다양한 정보를 요청하고, 얻어진 정보를 이용한 서비스 동작을 가능하게 하는 기능을 갖는다. 또한, 각 서비스는 이렇게 전송되어진 정보를 기반으로 사용자에게 맞는 서비스 정보를 구현하여 상위 서비스가 하위의 단위 서비스들을 호출하여 사용하는 방식으로 정보를 정형화시켜 외부로 결과를 전송한다. 이러한 과정에서 각 서비스는 멀티 쓰레딩 기법을 사용함으로써 다중 사용자의 다중 서비스 요구에 대해 효율적인 처리를 가능하도록 한다.In particular, when a user uses several services at the same time, the service controller 50 performs service scheduling to provide a service by determining an execution order of the service according to a policy at the time of service execution. At this time, scheduling is performed by referring to a policy engine that manages policies when scheduling services. The Policy Engine implements service priority, security level, intelligence level, etc. to resolve service conflicts and provides selective or partial provision of services according to these policies. To develop. In addition, since each service requires detailed data about the service and the user in order to implement a customized service for the user, for this purpose, the inference engine is requested for various information, and the service operation can be performed using the obtained information. Has the function to In addition, each service implements service information tailored to the user based on the transmitted information, and formats the information in a manner that the upper service calls and uses lower unit services to transmit the result to the outside. In this process, each service uses a multi-threading technique to enable efficient processing of multiple service requests of multiple users.

서비스 제어기(50)는 다음과 같은 기능을 제공함으로써 효율적인 서비스의 구현 및 관리를 가능하게 하며, 서비스의 확장성을 제공한다. 또한, 멀티 홈네트워크에서 보다 다양한 서비스의 동적인 신속한 처리를 가능하게 함으로써 효율성을 제공한다. The service controller 50 enables efficient implementation and management of services by providing the following functions, and provides scalability of services. In addition, it provides efficiency by enabling dynamic and rapid processing of various services in a multi-home network.

- 한 명의 사용자가 다중으로 서비스를 제공받고 있을 경우, 서비스의 종류에 따라 서비스 제공 레벨(Level) 및 다양한 서비스 정책(Policy)을 판단하여 중복 제공되지 않고 사용자가 원하는 서비스가 제공될 수 있도록 서비스를 스케쥴링한다. -If one user is provided with multiple services, the service level and various service policies are determined according to the type of service so that the user can provide the desired service without being duplicated. Schedule.

- 서비스가 제공되고 있을 경우, 서비스의 진행상태를 지속적으로 관리하는 서비스 진행상태 모니터링 기능-Service progress monitoring function that continuously manages the service progress when the service is being provided

- 사용자에 따라 다르게 설정된 각종 Policy(Intelligence Level, Priority, Security Level)등을 관리하는 정책 관리(Policy Management) 기능-Policy Management function to manage various policies (Intelligence Level, Priority, Security Level) set differently according to users

- 사용자 기반 인터페이스로의 전송을 위한 MMI(Multi-modal Interaction)와의 데이터 사용을 위한 데이터 전송 및 데이터 파싱 및 변환(Parsing & Tranforming) 기능-Data transmission and data parsing & transformation for data use with Multi-modal Interaction (MMI) for transmission to user-based interface

- 서비스 사용시, 맞춤형 서비스를 위해 이용되는 사용자의 각종 정보에 대한 접근에 대하여 보안 레벨(Security Level)에 따라 제한하는 보안기능-Security function that restricts access to user's various information used for customized service according to security level when using service

상기와 같은 기능을 갖는 서비스 제어기(50)는 사용자의 명령 또는 사용자의 이동에 따른 센서 입력, 환경 정보에 따른 센서 입력에 대한 서비스를 제공한다. 이때, 서비스 제어기(50)는 입력된 정보를 분석하여 필요에 따른 서비스 번들로 정보를 이동시킨다. 그리고, 서비스 제어기(50)는 현재 사용자가 이용하는 서비스에 대한 상태를 모니터링하여, 만일 서비스가 다중으로 사용될 경우, 서비스의 다양한 실행 정책을 참조하여 서비스 실행 순위를 임시로 정하게 된다. 이때, 정해진 실행 순위에 따라 서비스를 사용자에게 제공하게 된다. 또한, 서비스 제어기(50)는 서비스에 대해 충돌이나 보안적 문제 등에 대해 검토함으로써 서비스가 유효한지에 대한 검토를 수행한다. The service controller 50 having the above function provides a service for a sensor input according to a user's command or a user's movement and environment information. At this time, the service controller 50 analyzes the input information and moves the information to the service bundle as needed. Then, the service controller 50 monitors the state of the service currently used by the user, and if the service is used in multiple times, the service controller 50 temporarily determines the service execution order by referring to various execution policies of the service. At this time, the service is provided to the user according to a predetermined execution order. In addition, the service controller 50 examines whether the service is valid by examining the service for collisions or security problems.

즉, 서비스 제어기(50)는 서비스 지역(Spot)에서 서비스 간의 충돌 발생을 방지하기 위한 서비스 스케쥴링을 수행함으로써 여러 서비스가 동시에 실행되어 충돌하는 것을 방지하고, 서비스 우선순위 및 해당 장소에서의 사용자 우선순위에 따른 서비스 스케쥴링을 수행하며, 다양한 형태의 상황정보[MMI로부터 입력되는 제어 신호 및 서비스 요청 신호와 댁내의 센서(Sensor)로부터 입력되는 센서 신호]를 공통된 포맷으로 번역(Translating)하여 다른 번들로 전송한다. 또한, 각 센서 입력에 대한 분류 및 사용자의 입력에 따른 기본 데이터와의 조합 및 관리 기능을 수행한다. 또한, 입출력 정보가 미들웨어에서 처리하기에 적합하지 않은 형태일 경우나 잘못 전송된 경우 해당 정보를 필터링(Filtering)하는 기능을 수행한다. 또한, 동시에 여러 신호가 전송되었을 경우, 각 입력에 대한 기본적인 상황정보에 따라 데이터의 흐름 및 서비스나 다른 번들로의 전송에 대한 스케쥴링 기능을 수행하고, 장소별 서비스 세션 구성을 통한 서비스 관리 및 스케쥴링 기능을 수행한다. That is, the service controller 50 performs service scheduling to prevent a collision between services in a service area, thereby preventing several services from running simultaneously and colliding, and the service priority and user priority at the corresponding place. It performs service scheduling according to the system and translates various types of context information (control signal and service request signal input from MMI and sensor signal input from sensor in home) into a common format and transmits them to another bundle. do. In addition, the sensor performs classification and management with the basic data according to the classification and user input for each sensor input. In addition, when the input / output information is in a form that is not suitable for processing by the middleware or is incorrectly transmitted, the corresponding information is filtered. In addition, when several signals are transmitted at the same time, it performs scheduling function for data flow and service or transmission to other bundles according to basic context information about each input, and service management and scheduling function by configuring service session for each location. Do this.

그럼, 본 발명에 따른 서비스 제어 장치[서비스 제어기(50)]의 구성을 도 4를 참조하여 살펴보면, 입력 데이터를 분류(Parsing)하고 필터링(Filtering)하며, 출력 데이터를 변환(Formatting)하여 전송하는 데이터 필터(Data Filter)(52)와, 온톨로지(Ontology)로부터 사용자에게 제공되는 서비스에 대한 정보를 로딩하여 관리하는 서비스 데이터 매니저(Service Data Manager)(53)와, 사용자 간 또는 서비 스 간의 우선순위를 정의하고, 다양한 서비스가 동시에 실행될 경우 우선순위에 따라 서비스가 실행될 수 있도록 정책을 제공하는 정책엔진(Policy Engine)(54)과, 정책을 참조하여, 서비스 스케쥴링을 통해 서비스 지역에서 서비스 간 동시 실행에 따른 충돌을 방지하기 위한 서비스 스케쥴러(Service Scheduler)(55)를 포함한다. Then, referring to FIG. 4, the configuration of the service control device (service controller 50) according to the present invention is characterized by parsing and filtering input data, and transmitting and formatting output data. Data Filter 52, Service Data Manager 53 for loading and managing information about services provided to users from Ontology, and priority between users or services. Policy Engine 54, which provides a policy that allows a service to be executed according to priorities when various services are executed at the same time, and refers to the policy, and simultaneously runs between services in a service area through service scheduling. It includes a service scheduler (55) for preventing a collision according to.

상기와 같은 구성을 갖는 본 발명에 따른 서비스 제어기(50)의 각 구성요소들의 기능을 보다 구체적으로 살펴보면 다음과 같다. Looking at the function of each component of the service controller 50 according to the present invention having the above configuration in more detail as follows.

데이터 필터(52)는 외부로부터 본 시스템으로 TCP 소켓을 통해 전송되는 다양한 데이터들을 분류하고 필터링하며, 내부에서 외부의 인터페이스(Interface)로 전송되는 데이터를 변환(Formatting)하는 역할을 한다. 또한, 외부의 기기를 제어하는 모듈인 디바이스 제어기(Device Controller)와 연결되어 있어 기기 제어 신호를 전송할 수 있게 된다.The data filter 52 classifies and filters various data transmitted through the TCP socket from the outside to the present system, and serves to format data transmitted from the inside to the external interface. In addition, it is connected to the device controller (Device Controller) that is a module for controlling an external device can transmit the device control signal.

서비스 데이터 매니저(53)는 사용자에게 제공되는 서비스에 대한 데이터를 온톨로지(Ontology)로부터 저장, 삭제, 업데이트 기능 등의 관리를 수행하는 역할을 한다.The service data manager 53 performs a function of storing, deleting, and updating a data about a service provided to a user from an ontology.

서비스 스케쥴러(55)는 서비스 지역(Spot)에서 서비스 간의 충돌 발생을 방지하기 위한 서비스 스케쥴링을 수행함으로써 여러 서비스가 동시에 실행되어 충돌하는 것을 방지하는 역할을 하며, 이때 서비스 스케쥴링을 위한 정책(Policy)은 정책엔진(54)을 통해 얻게 된다. The service scheduler 55 performs a service scheduling to prevent a collision between services in a service area to prevent several services from being executed at the same time. In this case, the policy for service scheduling is Obtained through policy engine 54.

정책엔진(54)은 서비스 간의 우선순위를 정의하고 있으며, 이에 따라 다양한 서비스가 동시에 실행될 경우, 우선순위에 따라 서비스가 실행될 수 있도록 한다.The policy engine 54 defines a priority between services. Accordingly, when various services are executed at the same time, the policy engine 54 can execute the services according to the priorities.

상기 데이터 필터(52)는 외부 데이터를 전송받아 분류(Parsing) 및 필터링(Filtering)을 수행하는 데이터 번역기(Data Interpreter), 내부 데이터를 외부로 전송할 경우 변환(Formatting)하는 데이터 변환기(Data Formatter)로 구성된다. The data filter 52 is a data interpreter that performs external classification and performs filtering and filtering, and a data formatter that converts internal data when the external data is transmitted to the outside. It is composed.

또한, 상기 서비스 스케쥴러(55)는 서비스 지역(Spot)에서 사용자에게 제공될 서비스를 선택하는 서비스 선택기(Service Selector), 서비스를 제공하기 전 서비스 지역(Spot)에서의 서비스 충돌 상황을 검사하는 서비스 검사기(Service Checker), 서비스를 일회성 서비스와 스케쥴 서비스로 분류하여 서비스의 등록, 실행, 정지, 중지 명령에 대한 처리를 수행하는 서비스 관리 엔진(Service Managing Engine)으로 구성된다. In addition, the service scheduler 55 may include a service selector for selecting a service to be provided to a user in a service area, and a service checker for checking a service conflict situation in a service area before providing a service. (Service Checker), which classifies services into one-time services and schedule services, and performs a service management engine (Service Managing Engine) for processing the service registration, execution, stop, stop command.

또한, 상기 정책엔진(54)은 서비스 충돌 상황을 해결하기 위한 서비스 간의 우선순위 및 정책(Policy)을 관리하는 서비스 우선순위 및 정책 관리자(Service Priority & Policy Manager)를 구비한다. 이때, 적용되는 정책들로는 보안 레벨(Security Level), 지능적 레벨(Intelligence Level)(하기의 [표 4] 참조), 사용자 우선순위(User Priority)(하기의 [표 1] 및 [표 2 참조), 기기 접근 레벨(Device Access Level)(하기의 [표 3] 참조) 등이 있다. In addition, the policy engine 54 includes a service priority & policy manager for managing priorities and policies between services for resolving service conflicts. In this case, the policies applied include Security Level, Intelligence Level (see Table 4 below), User Priority (see Table 1 and Table 2 below), Device Access Levels (see Table 3 below).

또한, 상기 서비스 데이터 매니저(54)는 서비스 이름, 서비스 상태 등의 서비스 정보를 저장하고 있는 서비스 데이터 테이블(Service Data Table)과, 서비스 데이터 테이블에 접근하여 쿼리 정보를 수집/업데이트하는 서비스 쿼리 매니저(Service Query Manager)로 구성된다. In addition, the service data manager 54 may include a service data table storing service information such as a service name and a service state, and a service query manager which collects / updates query information by accessing the service data table. Service Query Manager).

사용자의 서비스 이용시, 서비스 제어기(50)의 동작 과정은 도 5와 같다. When the user uses the service, the operation of the service controller 50 is shown in FIG. 5.

외부의 번들로부터 서비스 제어기(50)로 접근하는 경우는, 특정 서비스를 실행하기 위해 서비스 제어기(50)로 서비스 이름(Service Name), 서비스 상태(Service State), 사용자 ID를 서비스 제어기 API(51)로 전송하는 경우와[이 경우 서비스 제어기(50)는 인터페이스 기능을 수행함], 상황인지 서버 소켓(51)으로 MMI(60) 및 UI로부터 사용자가 직접 접근하거나 센서 값이 들어오는 경우가 있다[이 경우 서비스 제어기(50)는 서비스 관리 기능을 수행함]. In the case of accessing the service controller 50 from an external bundle, the service controller 50 transmits a service name, a service state, and a user ID to the service controller 50 to execute a specific service. In this case, the service controller 50 performs an interface function. In this case, the user may directly access the server socket 51 from the MMI 60 and the UI or enter a sensor value. Service controller 50 performs a service management function.

즉, 상황인지 서버 소켓(Context-Aware Server Socket)(51)으로의 데이터 전송시, 시스템 외부(MMI, UI, Sensor 등)로부터 전송되는 데이터는 서비스 제어기(50)와 소켓 통신을 통해 전송된다. 이때, 서비스 제어기(50)는 외부로부터 전송되는 데이터를 분류(Parsing)하여 적절한 서비스 번들로 전송하고, 외부에서 전송된 데이터가 잘못된 데이터이거나 서비스 제공에 있어 유용하지 않은 데이터일 경우에는 필터링하는 역할을 한다. 즉, 사용자가 자신이 가진 단말기(PDA, 핸드폰 등)의 UI를 통해 상황인지 지식서비스 시스템으로 서비스를 요청(댁내의 환경정보, 다른 사용자의 스케쥴 등의 정보 요청)하거나 명령(기기제어, 시스템 설정 등)을 내릴 때, 또한 사용자의 이동에 따른 센서 정보가 시스템으로 전송될 때, 서비스 제어기(50)의 서버 소켓(51)으로 데이터가 전송된다. 이때, 전송된 정보는 서비스 제어기(50)의 서비스 관리 기능을 이용하지 않으므로, 서비스 제어기(50)는 단지 외부로부터 정보를 받는 인터페이스(Interface)로서의 역할만을 수행하게 된다[인터페이스 제어기(50) 역할]. 이를 구체적으로 살펴보면 다음과 같다. That is, when data is transmitted to the context-aware server socket 51, data transmitted from the outside of the system (MMI, UI, Sensor, etc.) is transmitted through the socket communication with the service controller 50. In this case, the service controller 50 sorts the data transmitted from the outside and transmits the data to the appropriate service bundle. If the data transmitted from the outside is wrong data or data that is not useful for providing the service, the service controller 50 filters the data. do. That is, a user requests a service (a request for information on the environment, a schedule of another user's environment, etc.) or a command (device control, system setting) through a UI of a terminal (PDA, mobile phone, etc.) that the user has. Etc.), and also when sensor information according to a user's movement is transmitted to the system, data is transmitted to the server socket 51 of the service controller 50. In this case, since the transmitted information does not use the service management function of the service controller 50, the service controller 50 only serves as an interface for receiving information from the outside (interface controller 50 role). . Looking at this in detail.

먼저, 서비스 제어기(50)의 인터페이스 기능에 대해 살펴보기로 한다. First, the interface function of the service controller 50 will be described.

사용자 단말, Homepad/Wallpad, 인터넷 등을 통해 명령어(기기제어, 시스템 설정 등)가 입력되면, 입력 데이터(Command)는 XML로 변환되어 서비스 제어기(50)의 서버 소켓(51)으로 전송되고, XML 파서(Parser)를 통해 시스템 내부에서 이용할 수 있는 데이터로 분류(Parsing)된다. 이때, 분류된 데이터는 서비스 종류에 따라 해당 번들로 전송되는데, 기기제어의 경우, 데이터[사용자 ID 및 기기 이름(Device Name)]가 추론엔진(30)으로 전송되고, 시스템 설정의 경우, 사용자 ID 및 사용자가 설정한 정책[우선순위(Priority), 기기 접근 레벨(Device Access Level), 보안 레벨(Security Level), 지능적 레벨(Intelligence Level)]이 추론엔진(30)으로 전송된다. When a command (device control, system setting, etc.) is input through a user terminal, Homepad / Wallpad, or the Internet, input data (Command) is converted into XML and transmitted to the server socket 51 of the service controller 50, XML Parsers are parsed into data that can be used inside the system. In this case, the classified data is transmitted to the corresponding bundle according to the service type. In case of device control, data [user ID and device name] are transmitted to the inference engine 30, and in case of system setting, user ID. And the policy set by the user (Priority, Device Access Level, Security Level, Intelligence Level) is transmitted to the inference engine (30).

또한, 사용자 단말, Homepad/Wallpad, 인터넷 등을 통해 정보(예로서, 댁내의 환경정보, 스케쥴, 프로파일, 서비스 레벨, 보안 레벨 등)의 요청이 있는 경우, 마찬가지로 사용자 단말 등에서 XML로 변환된 정보요청 메시지가 보내진다. 이후, XML로 변환된 데이터(정보 요청 메시지)는 서비스 제어기(50)의 서버 소켓(51)으로 전송되고, XML 파서(Parser)를 통해 시스템 내부에서 이용할 수 있는 데이터로 파싱(Parsing)된다. 이후에, 인터페이스 제어기(50)는 인터페이싱 엔진(Interfacing Engine)을 통해 파싱(Parsing)된 데이터[사용자 ID, 쿼리 이름, 정보 이름]를 분석하여(이 경우 정보 요청임을 인지함) 추론엔진(Reasoning Engine)(30)으로 전송한다. In addition, when there is a request for information (eg, home environment information, schedule, profile, service level, security level, etc.) through a user terminal, a homepad / wallpad, the Internet, or the like, an information request converted into XML from the user terminal or the like is also requested. The message is sent. Thereafter, the data converted into XML (information request message) is transmitted to the server socket 51 of the service controller 50 and parsed into data that can be used in the system through an XML parser. Subsequently, the interface controller 50 analyzes the parsed data [user ID, query name, information name] through the interfacing engine (recognizes that it is an information request in this case) and a reasoning engine. (30).

또한, 각각의 서비스 지역(예로서, 거실, 안방, 현관 등)에 위치한 센서가 사용자를 감지[즉, 사용자의 위치가 변하거나 서비스 지역의 상태가 변하는 경우 등]하면, 해당 센서는 인터페이스 제어기(Interface Controller)(50)의 리스너(Listener)로 센서 정보(센서의 위치 좌표 정보)를 전송한다. 그러면, 인터페이스 제어기(50)는 센서로부터 전송된 데이터(센서 정보)가 중복되거나 손상되었을 경우 이를 필터링(Filtering)한 후, 추론엔진(Reasoning Engine)(30)의 API로 데이터[사용자 ID, 센서 데이터, 사용자 위치]를 전송한다. In addition, when sensors located in each service area (eg, living room, room, entrance, etc.) detect the user (ie, when the user's location changes or the state of the service area changes, etc.), the sensor is connected to the interface controller ( The sensor information (position coordinate information of the sensor) is transmitted to a listener of the interface controller 50. Then, if the data transmitted from the sensor (sensor information) is duplicated or damaged, the interface controller 50 filters the filtered data, and then transmits the data [user ID, sensor data to the API of the inference engine 30]. , User location].

이상에서는 서비스 제어기(50)의 입력 인터페이스 기능을 살펴보았다. 이에 대응되는 서비스 제어기(50)의 출력 인터페이스 기능을 살펴보면, 명령어가 서비스 모드 입력인 경우, 추론엔진(30)에서는 서비스 및 제어될 기기가 결정되면 해당 데이터(기기제어 정보)를 디바이스 제어기(Device Controller)로 전송하고 처리 결과를 인터페이스 제어기(50)로 전송하여, 사용자에게 서비스를 제공토록 한다. 이때, 기기 제어가 필요할 경우 디바이스 제어기로 해당 서비스에 대한 기기 제어 목록 및 Property를 전송하여 기기를 제어하게 된다.In the above, the input interface function of the service controller 50 has been described. Looking at the output interface function of the service controller 50 corresponding to this, when the command is a service mode input, the inference engine 30 determines the device to be serviced and controlled, the corresponding data (device control information) device controller (Device Controller) ) And the processing result to the interface controller 50 to provide a service to the user. At this time, if device control is necessary, the device is controlled by transmitting a device control list and a property for the corresponding service to the device controller.

또한, 명령어가 기기제어 입력의 경우, 추론엔진(30)에서는 수집된 정보(정책 중 사용자 기기 접근 레벨)를 바탕으로 기기의 제어 유무를 판단하여, 사용 가능할 경우 디바이스 제어기로 제어명령(온/오프)을 전송하고 처리 결과를 인터페이스 제어기(50)를 통해 사용자에게 알린다. 이때, 기기 제어가 필요할 경우 디바이스 제어기로 해당 서비스에 대한 기기 제어 목록 및 Property를 전송하여 기기를 제어하게 된다.In addition, if the command is a device control input, the inference engine 30 determines whether the device is controlled based on the collected information (user device access level in the policy), and if available, a control command (on / off) to the device controller. ) And notify the user via the interface controller 50 of the processing result. At this time, if device control is necessary, the device is controlled by transmitting a device control list and a property for the corresponding service to the device controller.

또한, 명령어가 시스템 설정 입력의 경우, 추론엔진(30)은 인터페이스 제어기(50)를 통해 처리 결과(온톨로지 업데이트 결과)를 사용자에게 알린다. In addition, when the command is a system setting input, the inference engine 30 notifies the user of the processing result (ontology update result) through the interface controller 50.

또한, 사용자의 정보 요청 입력의 경우, 추론엔진(30)은 사용자가 요청한 정보를 수집하여 정책(보안레벨, 우선순위)에 따라 정보를 결정하여, 인터페이스 제어기(50)를 통해 사용자에게 전송한다. In addition, in the case of a user's information request input, the inference engine 30 collects the information requested by the user, determines the information according to a policy (security level, priority), and transmits the information to the user through the interface controller 50.

또한, 센서 입력 정보의 경우, 추론엔진(30)은 정책(보안 레벨, 기기 접근 레벨, 우선순위, 지능적 레벨)을 바탕으로 디바이스 제어기로 기기제어 명령을 전송하고 그 제어 결과를 인터페이스 제어기(50)를 통해 사용자에게 알린다. 이때, 기기 제어가 필요할 경우 디바이스 제어기로 해당 서비스에 대한 기기 제어 목록 및 Property를 전송하여 기기를 제어하게 된다.In addition, in the case of sensor input information, the inference engine 30 transmits a device control command to the device controller based on a policy (security level, device access level, priority, intelligent level) and outputs the control result to the interface controller 50. Inform the user via At this time, if device control is necessary, the device is controlled by transmitting a device control list and a property for the corresponding service to the device controller.

한편, 서비스 제어기(50)의 서비스 관리 기능에 대해 살펴보기로 한다. Meanwhile, a service management function of the service controller 50 will be described.

시스템 내부의 번들로부터 전송된 서비스에 대한 데이터가 서비스 제어기(50)의 API(51)로 전송될 경우, 서비스 제어기(50)는 자신의 고유 기능인 서비스 관리 기능을 수행하게 된다. 즉, 입력된 정보를 통해 먼저 서비스 분석을 수행한다. 이때, 서비스 분석이라 함은, 서비스의 등록 여부 및 서비스가 해당 위치에서 해당 사용자에게 제공될 수 있는지의 적절성 여부를 판단하는 것을 의미한다. 만일, 해당 위치에서 우선순위가 높은 다른 서비스가 이미 수행중이거나 해당 사용자에게 권한이 주어지지 않은 서비스라면 이 단계에서 서비스 요청은 중단되고 사용자에게 제공할 수 없다는 메시지를 전송한다. 그러나, 현재 요청된 서비스의 우선순위가 이미 제공되고 있는 서비스보다 높거나, 해당 사용자에게 등록된 적절한 서비스라면 서비스 제어기(50)는 서비스를 서비스 스케쥴러(55)에 등록하게 된다. 이때, 서비스 스케쥴러(55)는 위치, 사용자별 서비스 정보를 관리하여 한 위치에서 동시에 여러 서비스가 수행되려하거나 한 사용자에게 제공되는 서비스가 중복될 경우, 서비스 충돌을 방지하는 역할을 한다. 따라서, 서비스 제어기(50)는 서비스 지역(spot)에서 충돌 발생을 방지하기 위한 정책(우선순위, 기기 접근 레벨, 보안 레벨, 지능적 레벨)을 추론엔진(30)에 호출하여 가져와, 서비스 스케쥴리을 수행한다. 이후, 서비스 스케쥴러(55)에 의해 서비스가 결정되면, 서비스 제공을 위한 정보[사용자 ID, 서비스 이름, 서비스 상태]가 세션 매니저(40)로 리턴(Return)된다. When data about a service transmitted from a bundle inside the system is transmitted to the API 51 of the service controller 50, the service controller 50 performs a service management function which is its own function. That is, service analysis is first performed using the inputted information. In this case, the service analysis means determining whether the service is registered and whether the service can be provided to the user at the corresponding location. If another service with a higher priority at the location is already running or the service is not authorized to the user, the service request is aborted at this stage and a message is not provided to the user. However, if the priority of the currently requested service is higher than the service already being provided or the appropriate service registered to the user, the service controller 50 registers the service with the service scheduler 55. In this case, the service scheduler 55 manages location and user-specific service information to prevent service conflicts when multiple services are simultaneously performed at one location or services provided to one user are duplicated. Accordingly, the service controller 50 calls the inference engine 30 with a policy (priority, device access level, security level, intelligent level) for preventing a collision in a service area, and performs a service schedule. do. Thereafter, when a service is determined by the service scheduler 55, information (user ID, service name, service status) for providing a service is returned to the session manager 40.

즉, 사용자 단말, Homepad/Wallpad, 인터넷 등을 통해 명령어(서비스 모드 등)가 입력되면, 입력 데이터(Command)는 XML로 변환되어 서비스 제어기(50)의 서버 소켓(51)으로 전송되고, XML 파서(Parser)를 통해 시스템 내부에서 이용할 수 있는 데이터로 분류(Parsing)된다. 이때, 분류된 데이터는 서비스 종류에 따라 해당 번들로 전송되는데, 서비스 모드의 경우, 데이터[사용자 ID(User ID), 서비스 이름(Service Name), 서비스 상태(Service Status)]가 서비스 제어기(50)로 전송된다. 분류 결과, 서비스 모드인 경우, 서비스 제어기(Service Controller)(50)로 데이터[사용자 ID(User ID), 서비스 이름(Service Name), 서비스 상태(Service Status)]가 전송되어, 서비스 제어기(50)에서 서비스에 대한 정보를 분석한다. 이때, 서비스 제어기(50)는 해당 서비스에 대한 등록 여부 및 구성, 스케쥴링에 대하여 서비스 제공 적절성 여부를 검사하게 된다. 그리고, 서비스에 대한 적절성 여부가 결정되면, 서비스 제어기(50)는 사용자 ID(UserID)와 서비스 정보(서비스 이름 및 서비스 상태)를 세션 매니저(Session Manager)(40)로 전송한다. That is, when a command (service mode, etc.) is input through a user terminal, Homepad / Wallpad, or the Internet, the input data (Command) is converted into XML and transmitted to the server socket 51 of the service controller 50, and the XML parser Parsing is made into data available inside the system. In this case, the classified data is transmitted to the corresponding bundle according to the service type. In the case of the service mode, the data [User ID, Service Name, Service Status] is the service controller 50. Is sent to. As a result of the classification, in the service mode, data [User ID, Service Name, Service Status] is transmitted to the service controller 50, and the service controller 50 is transmitted. Analyzes information about services At this time, the service controller 50 checks whether service provision is appropriate for registration, configuration, and scheduling of the corresponding service. When it is determined whether the service is appropriate, the service controller 50 transmits a user ID (UserID) and service information (service name and service status) to the session manager 40.

또한, 전술한 바와 같이, 각각의 서비스 지역(예로서, 거실, 안방, 현관 등) 에 위치한 센서에서 사용자를 감지할 경우[즉, 사용자의 위치가 변하거나 서비스 지역의 상태가 변하는 경우 등], 해당 센서는 인터페이스 제어기(50)로 센서 정보(센서의 위치 좌표 정보)를 전송하고, 인터페이스 제어기(50)는 센서로부터 전송된 데이터(센서 정보)가 중복되거나 손상되었을 경우 이를 필터링(Filtering)한 후, 추론엔진(30)의 API(31)로 데이터[즉, 사용자 ID, 센서 데이터, 사용자 위치]를 전송한다. 이후, 추론엔진(30)은 센서 정보를 참조하여 해당 지역(예로서, 거실, 안방, 현관 등)에서 어떤 서비스를 제공할지에 대한 결정을 내린다. 이때, 서비스의 결정은 지식 레퍼지토리(10)의 온톨로지(Ontology)를 참조하여 결정하게 되는데, 추론엔진(30)은 입력된 센서 정보를 검토한 후 해당 정책을 적용하기 위해 쿼리 매니저(20)로 데이터를 전송하고, 쿼리 매니저(20)는 적절한 쿼리(Query)를 생성한 후 생성된 쿼리를 지식 레퍼지토리(10)의 온톨로지(Ontology)로 전송하여 정보를 얻은 후, 다시 추론엔진(30)으로 전송한다. 이때, 추론엔진(30)은 센서의 위치를 기반으로 사용자의 위치를 추론하게 되고, 해당 사용자에게 제공될 서비스에 대한 제어기기 정보를 수집하게 된다. 이후에, 추론엔진(30)은 서비스가 결정되면 해당 서비스 정보[사용자 ID, 서비스 이름(선호환경 서비스), 서비스 상태값(사용자의 위치가 포함)]를 서비스 제어기(50)로 전송한다. In addition, as described above, when a user is detected by a sensor located in each service area (eg, a living room, a room, a front door, etc.) (that is, when the user's location changes or the state of the service area changes), The sensor transmits sensor information (position coordinate information of the sensor) to the interface controller 50, and the interface controller 50 filters the data (sensor information) transmitted from the sensor if it is duplicated or damaged. , The data (ie, user ID, sensor data, user location) is transmitted to the API 31 of the inference engine 30. Thereafter, the inference engine 30 determines the service to be provided in the corresponding area (eg, living room, home room, entrance hall, etc.) with reference to the sensor information. At this time, the service is determined by referring to the ontology of the knowledge repository 10. The inference engine 30 reviews the input sensor information and then applies the query to the query manager 20 to apply the corresponding policy. After transmitting the data, the query manager 20 generates an appropriate query and transmits the generated query to the ontology of the knowledge repository 10 to obtain information, and then returns to the inference engine 30. send. In this case, the inference engine 30 infers the location of the user based on the location of the sensor, and collects controller information on the service to be provided to the user. Subsequently, when the service is determined, the inference engine 30 transmits corresponding service information (user ID, service name (preferred environment service), service status value (including user's location)) to the service controller 50.

이후, 서비스 제어기(50)는 해당 서비스에 대한 등록 여부 및 구성, 스케쥴링에 대하여 서비스 제공 적절성 여부를 검사한 후[서비스 관리 기능], 세션 매니저(40)로 데이터(사용자 ID, 서비스 이름, 서비스 상태)를 전송하여, 해당 세션에 사용자와 서비스 상태 정보를 등록시키게 된다. Thereafter, the service controller 50 checks whether service provision is appropriate for registration, configuration, and scheduling of a corresponding service [service management function], and then transmits data (user ID, service name, service status) to the session manager 40. ) To register the user and service status information in the session.

상기에서, 서비스 제어기(50)가 참조하는 정책(보안 레벨, 기기 접근 레벨, 우선순위, 지능적 레벨)을 보다 구체적으로 살펴보면 다음과 같다. In the above, the policy (security level, device access level, priority, intelligent level) referenced by the service controller 50 will be described in more detail as follows.

우선순위(Priority)는 사용자 우선순위(User Priority)(하기의 [표 1] 참조)와 태스크 우선순위(Task Priority)(하기의 [표 2] 참조)로 구분된다. Priority is divided into User Priority (see Table 1 below) and Task Priority (see Table 2 below).

사용자 우선순위(User Priority)는 하기의 [표 1]와 같이, 서비스 사용자들의 우선순위를 정하여 두 명 이상의 사용자가 같은 공간에서 같은 서비스를 요청하였을 경우, 사용자의 우선순위를 확인하여 우선순위가 높은 사용자에게 요청한 서비스를 제공하도록 한다. As shown in [Table 1], User Priority sets the priority of service users, and when two or more users request the same service in the same space, the priority of the user is confirmed by checking the priority of the user. Provide the requested service to the user.

Figure 112007084179022-PAT00001
Figure 112007084179022-PAT00001

또한, 태스크 우선순위(Task Priority)는 하기의 [표 2]와 같이, 서비스들간의 우선순위에 대한 것으로, 사용자가 여러 서비스를 요청하였을 경우, 해당 서비스의 우선순위에 따라 서비스를 제공하도록 한다.In addition, task priority is a priority of services, as shown in Table 2 below. When a user requests several services, the task priority is provided according to the priority of the corresponding service.

Figure 112007084179022-PAT00002
Figure 112007084179022-PAT00002

한편, 보안 레벨(Security Level)은 사용자 프라이버시(Privacy) 및 보안 강화를 위해 상황정보(Context)에 대한 차등적 보안레벨을 적용하는 것이다. 이 보안 레벨(Security Level)에 따라 사용자 정보(기본 정보 및 스케쥴)의 공개 정도가 달라지게 된다.On the other hand, the security level (Security Level) is to apply a differential security level for the context (Context) in order to enhance user privacy and security. Depending on this security level, the degree of disclosure of user information (basic information and schedules) will vary.

다른 한편, 기기 접근 레벨(Device Access Level)은 하기의 [표 3]과 같이, 사용자의 레벨과 연동하여 기기(Device)를 사용하고 제어 및 관리할 수 있는 등급을 적용하여 각기 다른 상황과 환경에 따라 레벨이 달라진다. On the other hand, the Device Access Level is applied to different situations and environments by applying a level to use, control and manage the device in conjunction with the user's level as shown in [Table 3] below. The level varies.

Figure 112007084179022-PAT00003
Figure 112007084179022-PAT00003

또 다른 한편, 지능적 레벨(Intelligence Level)은 하기의 [표 4]와 같이, 선호환경 서비스 제공을 위해 사용된다. 따라서, 사용자 각자의 지능적 레벨(Intelligence Level)을 확인하여 레벨에 따라 선호 환경 서비스를 제공하게 된다. On the other hand, the intelligence level (Intelligence Level) is used to provide a preferred environment service, as shown in Table 4 below. Therefore, by checking the intelligence level (Intelligence Level) of each user to provide a preferred environment service according to the level.

Figure 112007084179022-PAT00004
Figure 112007084179022-PAT00004

서비스 제어기(50)의 서비스 스케쥴러(55)는 사용자별, 위치별 서비스 관리를 담당한다. 서비스 스케쥴러(55)에서의 관리하는 서비스들의 라이프 사이클(Life Cycle)은 도 6과 같다. The service scheduler 55 of the service controller 50 is responsible for service management for each user and for each location. The life cycle of the services managed by the service scheduler 55 is shown in FIG. 6.

도 6에 도시된 바와 같이, 각각의 서비스의 상태는 등록(Register), 실행(Start), 정지(Pause), 중지(Stop) 네 가지 상태로 나누어진다. As shown in FIG. 6, the status of each service is divided into four states: Register, Start, Pause, and Stop.

사용자가 서비스를 사용하기 위해 UI 등을 통해 입력을 하거나, 센서값 입력을 통해 추론엔진(30)으로부터 특정 서비스의 실행 명령이 오게 되면, 서비스는 사용자/서비스 DB에 등록되며, 이때부터 서비스 스케쥴러(55)에서 서비스의 상태를 관리할 수 있게 된다. When a user inputs through a UI or the like to use a service or a command of executing a specific service comes from the inference engine 30 through sensor value input, the service is registered in the user / service DB, and from this time, the service scheduler ( 55, it is possible to manage the status of the service.

그 후, 서비스가 실행되면서 실행(Start) 상태가 되고, 서비스 스케쥴러(55)에 의해 현재 실행되고 있는 서비스보다 우선순위가 높은 서비스가 실행될 경우, 현재의 서비스는 pauseService 명령에 의해 정지(Pause) 상태로 들어가게 된다. 이때, 정지(Pause) 상태의 서비스는 서비스 상태를 세션 매니저(40)와 서비스 데이터 테이블(Service Data Table)에 저장하게 되고, 다시 실행될 때, 서비스 상태를 다시 불러옴으로써 끊김없는(Seamless) 서비스 제공을 가능케 한다. 또한, 서비스가 완전히 종료될 경우, 서비스는 중지(Stop) 상태로 되고, 서비스 스케쥴러(55)로부터 등록이 해제된다.After that, when the service is started and enters the Start state, and the service having a higher priority than the service currently being executed by the service scheduler 55 is executed, the current service is paused by the pauseService command. Will enter. At this time, the paused service stores the service state in the session manager 40 and the service data table, and when executed again, provides a seamless service by reloading the service state. Makes it possible. In addition, when the service is completely terminated, the service is stopped and the registration is released from the service scheduler 55.

이상에서와 같이, 사용자에 명령 또는 사용자의 이동에 따른 센서 입력, 환경 정보에 따른 센서 입력에 대해 서비스가 요구되어 진다. 이때, 본 발명에 따른 서비스 제어기(50)는 입력된 정보를 분석하여 필요에 따른 서비스 번들로 정보를 이동시키고, 현재 사용자가 이용하는 서비스에 대한 상태를 모니터링하며, 만일 서비스가 다중으로 사용될 경우, 서비스의 다양한 실행 정책을 참고하여 서비스 실행 순위를 임시로 정하게 된다. 이때, 정해진 실행 순위에 따라 서비스가 사용자에게 제공되게 된다. 또한, 서비스 제어기(50)는 서비스에 대해 충돌이나 보안적 문제 등에 대해 검토함으로써 서비스가 유효할지에 대한 검토를 수행한다.As described above, a service is required for a sensor input according to a command or movement of the user and a sensor input according to environmental information. At this time, the service controller 50 according to the present invention analyzes the input information and moves the information to the service bundle as needed, monitors the status of the service currently used by the user, and if the service is used in multiple times, The service execution rank will be temporarily determined by referring to various execution policies of. At this time, the service is provided to the user according to a predetermined execution order. In addition, the service controller 50 examines whether the service is valid by examining the service for collisions or security problems.

한편, 전술한 바와 같은 본 발명의 방법은 컴퓨터 프로그램으로 작성이 가능하다. 그리고 상기 프로그램을 구성하는 코드 및 코드 세그먼트는 당해 분야의 컴퓨터 프로그래머에 의하여 용이하게 추론될 수 있다. 또한, 상기 작성된 프로그램은 컴퓨터가 읽을 수 있는 기록매체(정보저장매체)에 저장되고, 컴퓨터에 의하여 판독되고 실행됨으로써 본 발명의 방법을 구현한다. 그리고 상기 기록매체는 컴퓨터가 판독할 수 있는 모든 형태의 기록매체를 포함한다.On the other hand, the method of the present invention as described above can be written in a computer program. And the code and code segments constituting the program can be easily inferred by a computer programmer in the art. In addition, the written program is stored in a computer-readable recording medium (information storage medium), and read and executed by a computer to implement the method of the present invention. The recording medium may include any type of computer readable recording medium.

이상에서 설명한 본 발명은, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다.The present invention described above is capable of various substitutions, modifications, and changes without departing from the technical spirit of the present invention for those skilled in the art to which the present invention pertains. It is not limited by the drawings.

본 발명은 상황인지 지식서비스 등에 이용될 수 있다.The present invention can be used for context awareness knowledge service.

도 1은 본 발명이 적용되는 상황인지 지식서비스 시스템의 미들웨어 구성을 보여주는 일실시예 설명도, 1 is a diagram illustrating an example of a middleware configuration of a cognitive knowledge service system to which the present invention is applied;

도 2는 본 발명이 적용되는 상황인지 지식서비스 시스템의 일실시예 구성도, 2 is a configuration diagram of an embodiment of a knowledge service system in which the present invention is applied;

도 3은 본 발명이 적용되는 상황인지 지식서비스 시스템의 동작 과정을 보여주는 일실시예 설명도, 3 is a diagram illustrating an operation of a knowledge cognitive service system to which the present invention is applied;

도 4는 본 발명에 따른 상기 도 2의 서비스 제어기의 일실시예 상세 구성도, 4 is a detailed configuration diagram of an embodiment of the service controller of FIG. 2 according to the present invention;

도 5는 본 발명에 따른 서비스 제어 장치의 동작 과정을 보여주는 일실시예 설명도, 5 is a diagram for explaining an operation of a service control device according to an embodiment of the present invention;

도 6은 본 발명에 따른 서비스 제어 장치의 서비스 스케쥴러에서 서비스 라이프 사이클을 보여주는 일실시예 설명도이다.6 is an exemplary diagram illustrating a service life cycle in the service scheduler of the service control device according to the present invention.

* 도면의 주요 부분에 대한 부호의 설명* Explanation of symbols for the main parts of the drawings

10 : 지식 레퍼지토리 20 : 쿼리 매니저10: Knowledge Repository 20: Query Manager

30 : 추론엔진 40 : 세션 매니저30: Reasoning Engine 40: Session Manager

50 : 인터페이스/서비스 제어기 60 : 멀티모달 인터페이스(MMI)50: interface / service controller 60: multi-modal interface (MMI)

Claims (13)

상황인지 지식서비스 시스템의 서비스 제어 장치에 있어서, In the service control device of the context aware knowledge service system, 입력 데이터를 분류하고 필터링하며, 출력 데이터를 전송할 모듈에 맞는 포맷으로 변환하여 전송하는 데이터 필터링 수단; Data filtering means for classifying and filtering the input data, and converting the output data into a format suitable for a module to be transmitted; 온톨로지로부터 사용자에게 제공되는 서비스에 대한 정보를 로딩하여 관리하는 서비스 데이터 관리수단; Service data management means for loading and managing information on a service provided to a user from an ontology; 사용자 간 또는 서비스 간의 우선순위를 정의하고, 다양한 서비스가 동시에 실행될 경우 서비스 우선순위에 따라 서비스가 실행될 수 있도록 정책을 제공하는 정책수단; 및 Policy means for defining priorities between users or services, and providing a policy for executing services according to service priorities when various services are executed simultaneously; And 상기 정책을 참조하여, 서비스 스케쥴링을 통해 서비스 지역에서 서비스 간 동시 실행에 따른 충돌을 방지하기 위한 서비스 스케쥴링 수단Service scheduling means for preventing conflicts due to simultaneous execution of services in a service area through service scheduling with reference to the above policy 를 포함하는 상황인지 지식서비스를 위한 서비스 제어 장치. Service control device for a context-aware knowledge service comprising a. 제1항에 있어서, The method of claim 1, 상기 서비스 스케쥴링 수단은, The service scheduling means, 위치, 사용자별 서비스 정보를 관리하여 한 위치에서 동시에 여러 서비스가 수행되려 하거나, 한 사용자에게 제공되는 서비스가 중복될 경우, 서비스 충돌을 방지하는 '서비스 우선순위 및 해당 지역에서의 사용자 우선순위에 따른 서비스 스 케쥴링'을 수행하는 것을 특징으로 하는 상황인지 지식서비스를 위한 서비스 제어 장치. Service information for each location and user is managed to simultaneously perform multiple services in one location or duplicate services provided to one user. Service control device for a context-aware knowledge service, characterized in that to perform service scheduling. 제2항에 있어서, The method of claim 2, 상기 서비스 스케쥴링 수단은, The service scheduling means, 서비스 지역에서 사용자에게 제공될 서비스를 선택하여, 서비스를 제공하기 전 서비스 지역에서의 서비스 충돌 상황을 체크한 후, 서비스를 일회성 서비스와 스케쥴 서비스로 분류하여 서비스의 등록, 실행, 정지, 중지 명령에 대한 처리를 실행하는 것을 특징으로 하는 상황인지 지식서비스를 위한 서비스 제어 장치. After selecting a service to be provided to the user in the service area, checking the service conflict situation in the service area before providing the service, classifying the service into a one-time service and a schedule service and registering the service with a command for registering, executing, stopping, and stopping the service. And a service control device for a context-aware knowledge service, characterized in that the processing for the situation is performed. 제3항에 있어서, The method of claim 3, 상기 서비스 스케쥴링 수단은, The service scheduling means, 서비스 등록 여부 및 서비스가 해당 위치에서 해당 사용자에게 제공될 수 있는지의 적절성 여부를 판단하여, 서비스가 결정되면 서비스의 상태를 관리하여, 현재 실행되고 있는 서비스보다 우선순위가 높은 서비스가 실행될 경우, 현재의 서비스를 정지시키고 서비스 상태를 세션 매니저와 서비스 데이터 테이블에 저장하고, 다시 실행될 때 서비스 상태를 불러옴으로써 끊김없는(Seamless) 서비스를 제공할 수 있는 것을 특징으로 하는 상황인지 지식서비스를 위한 서비스 제어 장치. Determine whether the service is registered and whether the service can be provided to the user at the location, manage the status of the service when the service is determined, if the service with higher priority than the currently running service is running, Service control for cognitive knowledge services, characterized by providing a seamless service by stopping the service of the service, storing the service state in the session manager and the service data table, and recalling the service state when it is executed again. Device. 제1항에 있어서, The method of claim 1, 상기 데이터 필터링 수단은, The data filtering means, 상기 입력 데이터를 분류(Parsing)하여, 미들웨어에서 처리하기에 적합하지 않은 형태이거나 잘못 전송된 경우, 해당 데이터를 필터링(Filtering)하고, 상기 출력 데이터를 변환(Formatting)하여 해당 서비스 번들로 전송하는 것을 특징으로 하는 상황인지 지식서비스를 위한 서비스 제어 장치. Parsing the input data and filtering the data if the data is not suitable for processing by middleware or incorrectly transmitting the data, and formatting the output data and transmitting the data to the service bundle. Service control device for contextual knowledge services characterized in that. 제1항에 있어서, The method of claim 1, 상기 입력 데이터는, The input data is, 기기제어, 서비스 모드, 시스템 설정을 포함하는 사용자 명령어, 정보 요청 메시지, 센서 입력 정보 중 어느 하나인 것을 특징으로 하는 상황인지 지식서비스를 위한 서비스 제어 장치. Device control, service mode, a user command including a system setting, a service request device for a knowledge service whether the situation, characterized in that any one of the information request message, the sensor input information. 제6항에 있어서, The method of claim 6, 상기 서비스 제어 장치는, The service control device, 상기 입력 데이터가 서비스 모드 명령어 및 센서 입력 정보인 경우, 상기 정책을 추론엔진에 호출하여, 상기 정책을 참조하여 상기 서비스 스케쥴링을 수행하 는 것을 특징으로 하는 상황인지 지식서비스를 위한 서비스 제어 장치. And when the input data is a service mode command and sensor input information, calling the policy to an inference engine to perform the service scheduling with reference to the policy. 제1항 내지 제7항 중 어느 한 항에 있어서, The method according to any one of claims 1 to 7, 상기 정책은, The above policy, 서비스 사용자들의 우선순위를 정하여 다중 사용자가 동일 공간에서 동일 서비스를 요청한 경우 사용자의 우선순위를 확인하여 우선순위가 높은 사용자에게 요청한 서비스를 제공하거나, 서비스 간의 우선순위를 정하여 일 사용자가 여러 서비스를 요청한 경우 해당 서비스의 우선순위에 따라 서비스를 제공하는 우선순위와, If multiple users request the same service in the same space by setting the priority of service users, check the user's priority to provide the requested service to users with higher priority, or set the priority between services so that one user requests multiple services. The priority of providing the service according to the priority of the service, 사용자 프라이버시 및 보안 강화를 위해 상황정보에 대한 차등적 보안레벨을 통해 사용자 정보의 공개 정도를 달리하는 보안 레벨과, Security level that varies the degree of disclosure of user information through the differential security level of situation information for user privacy and security enhancement, 사용자의 레벨과 연동하여 기기를 사용하고 제어 및 관리할 수 있는 등급을 적용하여 각각 다른 상황과 환경에 따라 레벨을 달리하는 기기 접근 레벨과, Appropriate level to use, control, and manage the device in conjunction with the user's level, and the level of device access according to different situations and environments, 레벨에 따라 선호환경 서비스를 제공하는 지능적 레벨을 포함하는 것을 특징으로 하는 상황인지 지식서비스를 위한 서비스 제어 장치. Service control apparatus for the context-aware knowledge service, characterized in that it comprises an intelligent level for providing a preference environment service according to the level. 서비스 제어 장치의 서비스 제어 방법에 있어서, In the service control method of the service control device, 사용자 간 또는 서비스 간의 우선순위를 정의하고, 다양한 서비스가 동시에 실행될 경우 서비스 우선순위에 따라 서비스가 실행될 수 있도록 정책을 설정하는 단계;Defining priorities between users or services, and setting a policy so that services can be executed according to service priorities when various services are executed simultaneously; 서비스 요청시, 상기 정책을 참조하여 서비스 등록 여부 및 서비스가 해당 위치에서 해당 사용자에게 제공될 수 있는지 적절성을 판단하는 단계; When requesting a service, referring to the policy to determine whether the service is registered and whether the service can be provided to the user at the corresponding location; 상기 판단 결과, 현재 요청된 서비스의 우선순위가 기 제공되고 있는 서비스보다 높거나 해당 사용자에게 등록된 적절한 서비스인 경우, 해당 서비스를 서비스 스케쥴러에 등록하는 단계; As a result of the determination, if the priority of the currently requested service is higher than a service already provided or an appropriate service registered to the user, registering the service with the service scheduler; 상기 서비스 스케쥴러에 의해 현재 실행되고 있는 서비스보다 우선순위가 높은 서비스가 실행될 경우, 현재의 서비스를 정지하고 서비스 상태를 서비스 데이터 테이블에 저장하는 단계; Stopping a current service and storing a service state in a service data table when a service having a higher priority than a service currently being executed by the service scheduler is executed; 서비스 실행시, 상기 서비스 데이터 테이블에 저장된 서비스 상태를 호출하여 해당 서비스를 재개하는 단계; 및Resuming the service by calling a service state stored in the service data table when the service is executed; And 서비스 종료시, 상기 서비스 스케쥴러에 등록된 서비스를 해제하는 단계Releasing a service registered in the service scheduler when the service ends; 를 포함하는 상황인지 서비스를 위한 서비스 제어 방법. Service control method for a context-aware service comprising a. 제9항에 있어서, The method of claim 9, 상기 서비스 스케쥴러는, The service scheduler, 위치, 사용자별 서비스 정보를 관리하여 한 위치에서 동시에 여러 서비스가 수행되려 하거나, 한 사용자에게 제공되는 서비스가 중복될 경우, 서비스 충돌을 방지하는 '서비스 우선순위 및 해당 지역에서의 사용자 우선순위에 따른 서비스 스 케쥴링'을 수행하는 것을 특징으로 하는 상황인지 지식서비스를 위한 서비스 제어 방법. Service information for each location and user is managed to simultaneously perform multiple services in one location or duplicate services provided to one user. Service scheduling method for a context-aware knowledge service, characterized in that to perform service scheduling. 제10항에 있어서, The method of claim 10, 상기 서비스 스케쥴러는, The service scheduler, 서비스 지역에서 사용자에게 제공될 서비스를 선택하여, 서비스를 제공하기 전 서비스 지역에서의 서비스 충돌 상황을 체크한 후, 서비스를 일회성 서비스와 스케쥴 서비스로 분류하여 서비스의 등록, 실행, 정지, 중지 명령에 대한 처리를 실행하는 것을 특징으로 하는 상황인지 지식서비스를 위한 서비스 제어 방법. After selecting a service to be provided to the user in the service area, checking the service conflict situation in the service area before providing the service, classifying the service into a one-time service and a schedule service and registering the service with a command for registering, executing, stopping, and stopping the service. A service control method for a context-aware knowledge service, characterized in that for executing a process for. 제9항 내지 제11항 중 어느 한 항에 있어서, The method according to any one of claims 9 to 11, 상기 정책은, The above policy, 서비스 사용자들의 우선순위를 정하여 다중 사용자가 동일 공간에서 동일 서비스를 요청한 경우 사용자의 우선순위를 확인하여 우선순위가 높은 사용자에게 요청한 서비스를 제공하거나, 서비스 간의 우선순위를 정하여 일 사용자가 여러 서비스를 요청한 경우 해당 서비스의 우선순위에 따라 서비스를 제공하는 우선순위와, If multiple users request the same service in the same space by setting the priority of service users, check the user's priority to provide the requested service to users with higher priority, or set the priority between services so that one user requests multiple services. The priority of providing the service according to the priority of the service, 사용자 프라이버시 및 보안 강화를 위해 상황정보에 대한 차등적 보안레벨을 통해 사용자 정보의 공개 정도를 달리하는 보안 레벨과, Security level that varies the degree of disclosure of user information through the differential security level of situation information for user privacy and security enhancement, 사용자의 레벨과 연동하여 기기를 사용하고 제어 및 관리할 수 있는 등급을 적용하여 각각 다른 상황과 환경에 따라 레벨을 달리하는 기기 접근 레벨과, Appropriate level to use, control, and manage the device in conjunction with the user's level, and the level of device access according to different situations and environments, 레벨에 따라 선호환경 서비스를 제공하는 지능적 레벨을 포함하는 것을 특징으로 하는 상황인지 지식서비스를 위한 서비스 제어 방법. Service control method for the context-aware knowledge service, characterized in that it comprises an intelligent level for providing a preference environment service according to the level. 상황인지 지식서비스를 위하여, 프로세서를 구비한 서비스 제어 장치에, In the service control device having a processor for context awareness knowledge service, 사용자 간 또는 서비스 간의 우선순위를 정의하고, 다양한 서비스가 동시에 실행될 경우 서비스 우선순위에 따라 서비스가 실행될 수 있도록 정책을 설정하는 기능;Defining priorities between users or services, and setting a policy to execute services according to service priorities when various services are executed simultaneously; 서비스 요청시, 상기 정책을 참조하여 서비스 등록 여부 및 서비스가 해당 위치에서 해당 사용자에게 제공될 수 있는지 적절성을 판단하는 기능; A function of determining whether to register a service and whether the service can be provided to a corresponding user at a corresponding location when referring to the policy; 상기 판단 결과, 현재 요청된 서비스의 우선순위가 기 제공되고 있는 서비스보다 높거나 해당 사용자에게 등록된 적절한 서비스인 경우, 해당 서비스를 서비스 스케쥴러에 등록하는 기능; As a result of the determination, if a priority of a currently requested service is higher than a service already provided or a proper service registered to a corresponding user, registering a corresponding service in a service scheduler; 상기 서비스 스케쥴러에 의해 현재 실행되고 있는 서비스보다 우선순위가 높은 서비스가 실행될 경우, 현재의 서비스를 정지하고 서비스 상태를 서비스 데이터 테이블에 저장하는 기능; A function of stopping a current service and storing a service state in a service data table when a service having a higher priority than a service currently being executed by the service scheduler is executed; 서비스 실행시, 상기 서비스 데이터 테이블에 저장된 서비스 상태를 호출하여 해당 서비스를 재개하는 기능; 및When executing a service, calling a service state stored in the service data table to restart the corresponding service; And 서비스 종료시, 상기 서비스 스케쥴러에 등록된 서비스를 해제하는 기능A function of releasing a service registered in the service scheduler when the service ends 을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.A computer-readable recording medium having recorded thereon a program for realizing this.
KR1020070119875A 2007-11-22 2007-11-22 Service controlling apparatus and method for context-aware knowledge service KR20090053179A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070119875A KR20090053179A (en) 2007-11-22 2007-11-22 Service controlling apparatus and method for context-aware knowledge service

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070119875A KR20090053179A (en) 2007-11-22 2007-11-22 Service controlling apparatus and method for context-aware knowledge service

Publications (1)

Publication Number Publication Date
KR20090053179A true KR20090053179A (en) 2009-05-27

Family

ID=40860722

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070119875A KR20090053179A (en) 2007-11-22 2007-11-22 Service controlling apparatus and method for context-aware knowledge service

Country Status (1)

Country Link
KR (1) KR20090053179A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014046475A1 (en) * 2012-09-20 2014-03-27 Samsung Electronics Co., Ltd. Context aware service provision method and apparatus of user device
KR101412658B1 (en) * 2010-11-15 2014-08-07 한국전자통신연구원 Method and apparatus for searching base station using paging procedure in mobile network
US11048474B2 (en) 2012-09-20 2021-06-29 Samsung Electronics Co., Ltd. Context aware service provision method and apparatus of user device

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101412658B1 (en) * 2010-11-15 2014-08-07 한국전자통신연구원 Method and apparatus for searching base station using paging procedure in mobile network
WO2014046475A1 (en) * 2012-09-20 2014-03-27 Samsung Electronics Co., Ltd. Context aware service provision method and apparatus of user device
US10042603B2 (en) 2012-09-20 2018-08-07 Samsung Electronics Co., Ltd. Context aware service provision method and apparatus of user device
US10684821B2 (en) 2012-09-20 2020-06-16 Samsung Electronics Co., Ltd. Context aware service provision method and apparatus of user device
US11048474B2 (en) 2012-09-20 2021-06-29 Samsung Electronics Co., Ltd. Context aware service provision method and apparatus of user device
US11907615B2 (en) 2012-09-20 2024-02-20 Samsung Electronics Co., Ltd. Context aware service provision method and apparatus of user device

Similar Documents

Publication Publication Date Title
KR101009638B1 (en) Reasoning apparatus and method for user adaptive service and context-aware knowledge system using its
Yau et al. Reconfigurable context-sensitive middleware for pervasive computing
Zhang et al. Survey on context-awareness in ubiquitous media
KR100683172B1 (en) Conflict control method using abstracted service semantics for group context management and system thereof
Park et al. A dynamic context-conflict management scheme for group-aware ubiquitous computing environments
Bellavista et al. Dynamic binding in mobile applications
Wu et al. ScudWare: A semantic and adaptive middleware platform for smart vehicle space
KR20090000122A (en) Community computing based dynamic service composition system
KR100707671B1 (en) Reasoning apparatus and method for context adaptive service in knowledge-based home network
Fides-Valero et al. The PERSONA framework for supporting context-awareness in open distributed systems
Wu et al. SmartShadow: models and methods for pervasive computing
KR100904147B1 (en) Query management apparatus and method for context-aware knowledge service
KR20090053179A (en) Service controlling apparatus and method for context-aware knowledge service
KR20090053174A (en) Session management apparatus and method for context-aware knowledge service
KR100884693B1 (en) Method for Community Computing and Community Computing System
KR100834977B1 (en) Embedded agent framework and method for providing ubiquitous services using the embedded agent framework
KR100839535B1 (en) Reasoning Engine and Method for context adaptive service based on profile of multi user
Goynugur et al. A knowledge driven policy framework for internet of things
Kelaidonis et al. A cognitive management framework for smart objects and applications in the internet of things
KR100864167B1 (en) Apparatus and Method for managing ontology context based on knowledge in Ubiquitous
Leonardi et al. A flexible rule-based method for interlinking, integrating, and enriching user data
Janse et al. Amigo architecture: Service oriented architecture for intelligent future In-Home networks
de Alencar et al. Addressing the users’ diversity in ubiquitous environments through a low cost architecture
Pereira et al. An ontology-based approach to integrate TV and IoT middlewares
KR20100045584A (en) An integrated context generation system based on the ant colony algorithm for hci applications and the method thereof

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application