KR20090053179A - Service controlling apparatus and method for context-aware knowledge service - Google Patents
Service controlling apparatus and method for context-aware knowledge service Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/36—Creation of semantic tools, e.g. ontology or thesauri
- G06F16/367—Ontology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource 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
본 발명은 상황인지(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
인터페이스/서비스 제어기(Interface/Service Controller)(50)는 다양한 형태의 상황정보[MMI로부터 입력되는 제어 신호(기기제어, 서비스 모드, 시스템 설정 등) 및 서비스 요청 신호(정보 요청)와 댁내의 센서로부터 입력되는 센서 신호]를 공통된 포맷으로 번역(Translating)하여 다른 번들로 전송하는 기능을 수행한다. 또한, 각 센서 입력에 대한 분류 및 사용자 입력에 따른 기본 데이터와의 조합 및 관리 기능을 수행한다. 또한, 입출력 상황에서의 데이터를 RDF/XML 형태의 정보로 인코딩/디코딩(Encoding/Decoding)하는 기능을 수행한다. 또한, 입출력 정보가 미들웨어에서 처리하기에 적합하지 않은 형태일 경우나 잘못 전송된 경우 해당 정보를 필터링(Filtering)하는 기능을 수행한다. 또한, 동시에 여러 신호가 전송되었을 경우, 각 입력에 대한 기본적인 상황정보에 따라 데이터의 흐름 및 서비스나 다른 번들로의 전송에 대한 스케쥴링 기능을 수행한다. 또한, 장소별 서비스 세션 구성을 통한 서비스 관리 및 스케쥴링 기능을 수행한다. The interface /
서비스 제어기(50)는 인터페이스로서의 역할과 서비스 관리 기능을 수행하는데, 이하에서는 서비스 제어기(Service Controller)의 인터페이스 기능을 인터페이스 제어기(Interface Controller)에서 수행하는 것으로 구분하여 설명한다. 그러나, 인터페이스 제어기와 서비스 제어기는 하나의 모듈로 구성 가능함에 유의하여야 한다. The
세션 매니저(Session Manager)(40)는 사용자별 세션(등록 서비스 및 사용 중인 서비스에 대한 상태정보)의 생성, 삭제, 관리를 통해 끊김없는(Seamless) 서비스를 제공하는 기능을 수행한다. 또한, 각 사용자에 대한 로그온/오프(Log-On/Off) 관리 기능 및 사용자 위치에 따른 서비스 적용 상황에 대한 관리 기능을 수행한다. 또한, 각 사용자별 서비스 상태 모니터링과 추론엔진(30)에서 정의된 정책에 기반하여 사용자 세션 정보를 관리하는 기능을 수행한다. 또한, 특정 사용자에 대한 서비스 등록/해제 및 서비스 제공 가능 여부를 검사하는 기능을 수행한다. 또한, 끊김없는(Seamless) 서비스 제공을 위해 사용자가 서비스 종료시, 상태 정보를 저장하고 서비스 재시작 여부를 검사하는 기능을 수행한다. The
쿼리 매니저(Query Manager)(20)는 다중 사용자 처리를 위한 상황정보를 저장 및 관리하는 기능을 수행한다. 또한, 추론 결과의 상황을 저장 및 관리하고 DBMS 내의 메타데이터를 검색하는 기능을 수행한다. 또한, 다양한 형태의 메타데이터 정보를 관리하고, 동작을 위한 중간데이터를 관리하며, 지식 레퍼지토리(10)의 각종 메타데이터를 관리하는 기능을 수행한다. 또한, 추론엔진(30)에서 요구하는 정보 및 서비스를 위한 적절한 형태의 쿼리를 생성 및 관리하는 기능을 수행한다. 또한, 룰(Rule)과 관계성에 기반한 의미정보 추출과 추출된 의미정보를 상황정보 온톨로지 기반의 인스턴스로 변환하여 저장하는 기능을 수행한다. The
지식 레퍼지토리(Knowledge Repository)(10)는 홈네트워크 환경에서 필요한 사용자 및 각종 디바이스(Device) 관련 정보, 사용자에게 지식기반 서비스를 제공하기 위한 정보, 서비스 제공을 위한 시간 정보 등을 저장, 관리하고, 각 기능별로 필요한 관계성을 기술한 온톨로지 기반의 사용자 상황정보(Context)를 관리하고 서비스 정보를 관리한다. The
사용자의 서비스 이용시, 미들웨어 번들의 동작 과정은 도 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
이후에, 인터페이스 제어기(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
따라서, 분류 결과, 기기제어인 경우, 정책적 측면(사용자 우선순위 및 사용권한 등)을 고려하기 위해, 추론엔진(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
분류 결과, 서비스 모드인 경우, 서비스 제어기(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
이를(서비스 모드인 경우) 구체적으로 살펴보면, 서비스 제어기(50)는 서비스 관리 기능을 통해 서비스 분석을 수행한다. 이때, 서비스 분석이라 함은, 서비스의 등록 여부 및 서비스가 해당 위치에서 해당 사용자에게 제공될 수 있는지의 적절성 여부를 판단하는 것을 의미한다. 만일, 해당 위치에서 우선순위가 높은 다른 서비스가 이미 수행중이거나 해당 사용자에게 권한이 주어지지 않은 서비스라면 이 단계에서 서비스 요청은 중단되고 사용자에게 제공할 수 없다는 메시지를 전송한다. 그러나, 현재 요청된 서비스의 우선순위가 이미 제공되고 있는 서비스보다 높거나, 해당 사용자에게 등록된 적절한 서비스라면 서비스 제어기(50)는 서비스를 스케쥴러에 등록하게 된다. 서비스 스케쥴러는 위치, 사용자별 서비스 정보를 관리하여 한 위치에서 동시에 여러 서비스가 수행되려 하거나 한 사용자에게 제공되는 서비스가 중복될 경우, 서비스 충돌을 방지하는 역할을 수행한다. 따라서, 서비스 제어기(50)는 서비스 지역(spot)에서 충돌 발생을 방지하기 위한 정책(우선순위, 기기 접근 레벨, 보안 레벨, 지능적 레벨)을 추론엔진(30)에 호출하여 가져와, 서비스 스케쥴링을 수행한다. Specifically, in the case of the service mode, the
이후, 서비스 스케쥴러에 의해 서비스가 결정되면, 서비스 제공을 위한 정보[사용자 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
한편, 추론엔진(30)은 입력된 서비스 및 정보를 검토한 후 해당 정책을 적용하기 위해 쿼리 매니저(Query Manager)(20)로 데이터를 전송한다. 그러면, 쿼리 매니저(20)는 적절한 쿼리(Query)를 생성하고, 생성된 쿼리를 지식 레퍼지토리(10)의 온톨로지(Ontology)로 전송하여 정보를 얻은 후[상황정보 매니저의 역할], 다시 추론엔진(30)으로 전송한다. 이후, 추론엔진(30)은 서비스 및 제어될 기기가 결정되면 해당 데이터(기기제어 정보)를 디바이스 제어기(Device Controller)로 전송하고 처리 결과를 인터페이스 제어기(50)로 전송하여, 사용자에게 서비스를 제공토록 한다. 이때, 기기 제어가 필요할 경우 디바이스 제어기로 해당 서비스에 대한 기기 제어 목록 및 Property를 전송하여 기기를 제어하게 된다.Meanwhile, the
즉, 명령어가 서비스 모드 입력인 경우, 추론엔진(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
또한, 명령어가 기기제어 입력의 경우, 추론엔진(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
또한, 명령어가 시스템 설정 입력의 경우, 추론엔진(30)은 사용자 ID, 사용자가 입력한 정책(우선순위, 기기 접근 레벨, 보안 레벨, 지능적 레벨)을 인터페이스 제어기(50)로부터 입력받아 쿼리 매니저(20)로 전달하고, 쿼리 매니저(20)는 추론엔진(30)으로부터 사용자 ID와 사용자가 설정한 정책(우선순위, 기기 접근 레벨, 보안 레벨, 지능적 레벨)을 전달받아 해당 사용자(사용자 ID를 바탕으로 함)의 정책을 온톨로지에 업데이트한다. 그리고, 추론엔진(30)은 인터페이스 제어기(50)를 통해 처리 결과(온톨로지 업데이트 결과)를 사용자에게 알린다. In addition, when the command is a system setting input, the
이제, 정보 요청에 대한 데이터 처리 과정을 살펴보기로 한다. 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
이후에, 인터페이스 제어기(50)는 인터페이싱 엔진(Interfacing Engine)을 통해 파싱(Parsing)된 데이터[사용자 ID, 쿼리 이름, 정보 이름]를 분석하여(이 경우 정보 요청임을 인지함) 추론엔진(Reasoning Engine)(30)으로 전송한다. Subsequently, the
이후, 추론엔진(30)은 입력된 정보[사용자 ID, 쿼리 이름, 정보 이름]를 검토[보안 레벨 및 기기 접근 레벨에 따라 입력에 대한 적절성 여부를 검토함]한 후 해당 정책을 적용하기 위해 쿼리 매니저(Query Manager)(20)로 데이터(정보 요청 메시지)를 전송하며, 쿼리 매니저(20)는 적절한 쿼리(Query)를 생성하고 생성된 쿼리를 지식 레퍼지토리(10)의 온톨로지(Ontology)로 전송하여 정보를 얻은 후, 다시 추론엔진(30)으로 전송한다. 이후, 시스템에서 제공할 정보는 인터페이스 제어기(Interface Controller)(50)를 통해 사용자에게 전송된다. 즉, 정보 요청의 경 우, 쿼리 매니저(20)는 추론엔진(30)에서 요청하는 사용자가 요청한 정보를 온톨로지에서 가져와 추론엔진(30)으로 전송한다. 그러면, 추론엔진(30)은 사용자가 요청한 정보를 수집하여 정책(보안레벨, 우선순위)에 따라 정보를 결정하여, 인터페이스 제어기(50)를 통해 사용자에게 전송한다. Thereafter, the
마지막으로, 센서 입력에 대한 데이터 처리 과정을 살펴보기로 한다. 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
이후, 추론엔진(30)은 센서 정보를 참조하여 해당 지역(예로서, 거실, 안방, 현관 등)에서 어떤 서비스를 제공할지에 대한 결정을 내린다. 이때, 서비스의 결정은 지식 레퍼지토리(Knowledge Repository)(10)의 온톨로지(Ontology)를 참조하여 결정하게 된다. 즉, 추론엔진(30)은 입력된 센서 정보를 검토한 후 해당 정책을 적용하기 위해 쿼리 매니저(Query Manager)(20)로 데이터를 전송하고, 쿼리 매니저(20)는 적절한 쿼리(Query)를 생성한 후 생성된 쿼리를 지식 레퍼지토리(10)의 온톨로지(Ontology)로 전송하여 정보를 얻은 후, 다시 추론엔진(30)으로 전송한다. 따라서, 추론엔진(30)은 센서의 위치를 기반으로 사용자의 위치를 추론하게 되고, 해당 사용자에게 제공될 서비스에 대한 제어기기 정보를 수집하게 된다. 이후에, 추론엔진(30)은 서비스가 결정되면 해당 서비스 정보[사용자 ID, 서비스 이름(선호환경 서비스), 서비스 상태값(사용자의 위치가 포함)]를 서비스 제어기(Service Controller)(50)로 전송한다. Thereafter, the
여기서, 추론엔진(30)에 입력된 정보는 룰 엔진에서 쿼리 매니저(20)를 통해 온톨로지로 업데이트되고, 업데이트된 온톨로지로 쿼리를 전송하여 해당 위치의 사용자를 추론하고 다시 사용자에게 제공될 서비스에 대한 제어 기기 정보를 수집한다. 이러한 기기 정보에 정책(보안 레벨, 기기 접근 레벨, 우선순위, 지능적 레벨)을 적용하여 서비스를 결정하게 된다. 이때, 쿼리 매니저(20)는 추론엔진(30)의 요청에 따라 센서의 위치에 따른 사용자의 위치값을 온톨로지에서 가져와 추론엔진(30)으로 전송한다. In this case, the information input to the
이후, 서비스 제어기(50)는 해당 서비스에 대한 등록 여부 및 구성, 스케쥴링에 대하여 서비스 제공 적절성 여부를 검사한 후, 세션 매니저(Session Manager)(40)로 데이터(사용자 ID, 서비스 이름, 서비스 상태)를 전송하여, 해당 세션에 사용자와 서비스 상태 정보를 등록시키게 된다. Thereafter, the
여기서, 서비스에 대한 적절성 여부가 결정되면, 서비스 제어기(50)는 사용자 ID(UserID)와 서비스 정보(서비스 이름 및 상태)를 세션 매니저(Session Manager)(40)로 전송하고, 세션 매니저(40)는 사용자별 세션을 생성하고, 서비스 상태 및 제공 여부를 결정하여 추론엔진(30)으로 전송한다. Here, if it is determined whether the service is appropriate, the
이를 구체적으로 살펴보면, 서비스 제어기(50)는 서비스 관리 기능을 통해 서비스 분석을 수행한다. 이때, 서비스 분석이라 함은, 서비스의 등록 여부 및 서비스가 해당 위치에서 해당 사용자에게 제공될 수 있는지의 적절성 여부를 판단하는 것을 의미한다. 만일, 해당 위치에서 우선순위가 높은 다른 서비스가 이미 수행중이거나 해당 사용자에게 권한이 주어지지 않은 서비스라면 이 단계에서 서비스 요청은 중단되고 사용자에게 제공할 수 없다는 메시지를 전송한다. 그러나, 현재 요청된 서비스의 우선순위가 이미 제공되고 있는 서비스보다 높거나, 해당 사용자에게 등록된 적절한 서비스라면 서비스 제어기(50)는 서비스를 스케쥴러에 등록하게 된다. 서비스 스케쥴러는 위치, 사용자별 서비스 정보를 관리하여 한 위치에서 동시에 여러 서비스가 수행되려 하거나 한 사용자에게 제공되는 서비스가 중복될 경우, 서비스 충돌을 방지하는 역할을 수행한다. 따라서, 서비스 제어기(50)는 서비스 지역(spot)에서 충돌 발생을 방지하기 위한 정책(우선순위, 기기 접근 레벨, 보안 레벨, 지능적 레벨)을 추론엔진(30)에 호출하여 가져와, 서비스 스케쥴링을 수행한다. Specifically, the
이후, 서비스 스케쥴러에 의해 서비스가 결정되면, 서비스 제공을 위한 정보[사용자 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
다음으로, 추론엔진(30)은 입력된 서비스 및 정보를 검토한 후 해당 정책을 적용하기 위해 쿼리 매니저(Query Manager)(20)로 데이터를 전송한다. 그러면, 쿼리 매니저(20)는 적절한 쿼리(Query)를 생성하고, 생성된 쿼리를 지식 레퍼지토리(10)의 온톨로지(Ontology)로 전송하여 정보를 얻은 후[상황정보 매니저의 역할], 다시 추론엔진(30)으로 전송한다. 이후, 추론엔진(30)은 서비스 및 제어될 기기가 결정되면 해당 데이터(기기제어 정보)를 디바이스 제어기(Device Controller)로 전송하여 기기를 제어하고 인터페이스 제어기(50)를 통해 사용자에게 센서 인식으로 인한 서비스 처리결과를 알린다. 즉, 추론엔진(30)은 쿼리 매니저(20)를 통해 온톨로지로부터 해당 사용자의 정책(보안 레벨, 기기 접근 레벨, 우선순위, 지능적 레벨)을 수집하고, 이를 토대로 디바이스 제어기(Device Controller)를 통해 기기를 제어하고 인터페이스 제어기(50)를 통해 센서 인식으로 인한 서비스 처리결과를 알린다. 이때, 기기 제어가 필요할 경우 디바이스 제어기로 해당 서비스에 대한 기기 제어 목록 및 Property를 전송하여 기기를 제어하게 된다.Next, the
정리해보면, 상황인지 지식서비스 시스템은, 사용자 및 환경, 서비스와 시공간의 복합적 개념의 정보 및 사용자별 정책(보안 레벨, 기기 접근 레벨, 우선순위, 지능적 레벨)을 저장ㆍ관리하고 있는 지식 레퍼지토리(온톨로지)(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
여기서, 세션 매니저(40)는, 사용자와 서비스의 상태를 저장하여 서비스를 시작할 경우 세션을 등록하고, 서비스가 종료될 경우 최종 상태를 저장하여 다음에 서비스를 요청하면 최종 상태를 알려주어 서비스의 최종 상태에서부터 끊김없는 서 비스를 제공할 수 있도록 한다. Here, the
특히, 서비스 제어기(50)는 입력 데이터가 서비스 모드 명령어 및 센서 입력 정보인 경우, 정책(보안 레벨, 기기 접근 레벨, 우선순위, 지능적 레벨)을 추론엔진(30)에 호출하여, 정책을 참조하여 서비스 스케쥴링을 수행한다. In particular, when the input data are service mode commands and sensor input information, the
그리고, 추론엔진(30)은, 입력 데이터가 기기제어 명령어인 경우, 인터페이스 제어기(50)로부터 사용자 ID와 기기 이름을 입력받아, 이를 바탕으로 생성된 쿼리를 통해 해당 서비스에 대해 제어될 기기 및 표시될 정보를 수집하여(쿼리 매니저(20)를 통해 수집함), 정책 중 기기 접근 레벨을 바탕으로 기기의 제어 유무를 판단하고, 사용 가능할 경우 디바이스 제어기(Device Controller)로 기기제어 명령을 전송하고 그 제어 결과를 인터페이스 제어기(50)를 통해 사용자에게 전달한다. When the input data is a device control command, the
또한, 추론엔진(30)은, 입력 데이터가 시스템 설정 명령어인 경우, 인터페이스 제어기(50)로부터 사용자 ID와 사용자가 설정한 정책(보안 레벨, 기기 접근 레벨, 우선순위, 지능적 레벨)을 입력받아, 사용자가 설정한 정책을 쿼리 매니저(20)를 통해 지식 레퍼지토리(온톨로지)(10)에 업데이트한다. 이때, 온톨로지 업데이트 결과를 인터페이스 제어기(50)를 통해 사용자에게 알릴 수 있다. In addition, when the input data is a system setting command, the
또한, 추론엔진(30)은, 입력 데이터가 정보 요청 메시지인 경우, 인터페이스 제어기(50)로부터 사용자 ID, 쿼리 이름, 정보 이름을 입력받아, 이를 바탕으로 생성된 쿼리를 통해 지식 레퍼지토리(온톨로지)(10)로부터 사용자가 요청한 정보를 수집하여(쿼리 매니저(20)를 통해 수집함), 정책(보안 레벨, 기기 접근 레벨, 우선순위, 지능적 레벨)을 토대로 인터페이스 제어기(50)를 통해 사용자에게 전달한다. In addition, when the input data is an information request message, the
또한, 추론엔진(30)은, 입력 데이터가 서비스 모드 명령어인 경우, 세션 매니저(40)로부터 사용자 ID, 서비스 이름 및 서비스 상태를 입력받아, 쿼리 매니저(20)를 통해 해당 서비스에 대해 제어될 기기 및 표시될 정보를 수집하여, 정책(보안 레벨, 기기 접근 레벨, 우선순위, 지능적 레벨)을 토대로 디바이스 제어기로 기기제어 명령을 전송하고 그 제어 결과를 인터페이스 제어기(50)를 통해 사용자에게 전달한다. In addition, when the input data is a service mode command, the
또한, 추론엔진(30)은, 입력 데이터가 센서 입력 정보인 경우, 센서의 위치를 기반으로 사용자의 위치를 추론하고 해당 사용자에게 제공될 서비스에 대한 제어기기 정보를 수집한 후, 서비스 제어기(50)로 사용자 ID, 서비스 이름, 서비스 상태를 전달하여, 서비스 제어기(50)에서 서비스 충돌이 없다고 판단되면, 정책(보안 레벨, 기기 접근 레벨, 우선순위, 지능적 레벨)을 바탕으로 디바이스 제어기로 기기제어 명령을 전송하고 그 제어 결과를 인터페이스 제어기(50)를 통해 사용자에게 알린다. In addition, when the input data is sensor input information, the
이하에서는, 서비스 제어 장치[서비스 제어기(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
서비스 제어기(50)는 다른 서비스 번들이 현재 사용자의 위치나 서비스 제공 상태에 대한 정보 요청이 가능하며, 또한 외부로부터 입력된 정보에 기반하여 다양한 서비스 번들을 호출하거나 추론엔진(30)으로 질의를 제공한다. The
특히, 서비스 제어기(50)는 사용자가 동시에 여러 가지 서비스를 이용할 경우, 서비스 실행시의 정책에 따라 서비스의 실행 순위를 결정하여 서비스를 제공하는 서비스 스케쥴링을 수행한다. 이때, 서비스 스케쥴링시 정책들을 관리하는 정책엔진(Policy Engine)을 참조하여 스케쥴링을 수행하게 된다. 정책엔진(Policy Engine)은 서비스 충돌 상황을 해결하기 위한 서비스 우선순위(Priority)와 보안 레벨(Security Level), 지능적 레벨(Intelligence Level) 등을 구현하여 이러한 정책에 따라 서비스의 선별적 또는 부분적 제공을 하도록 개발한다. 또한, 각각의 서비스에서 사용자에 대한 맞춤형 서비스의 구현을 위해 서비스와 사용자에 대한 세부적인 데이터를 필요로 하기 때문에 이를 위해 추론 엔진에 접속하여 다양한 정보를 요청하고, 얻어진 정보를 이용한 서비스 동작을 가능하게 하는 기능을 갖는다. 또한, 각 서비스는 이렇게 전송되어진 정보를 기반으로 사용자에게 맞는 서비스 정보를 구현하여 상위 서비스가 하위의 단위 서비스들을 호출하여 사용하는 방식으로 정보를 정형화시켜 외부로 결과를 전송한다. 이러한 과정에서 각 서비스는 멀티 쓰레딩 기법을 사용함으로써 다중 사용자의 다중 서비스 요구에 대해 효율적인 처리를 가능하도록 한다.In particular, when a user uses several services at the same time, the
서비스 제어기(50)는 다음과 같은 기능을 제공함으로써 효율적인 서비스의 구현 및 관리를 가능하게 하며, 서비스의 확장성을 제공한다. 또한, 멀티 홈네트워크에서 보다 다양한 서비스의 동적인 신속한 처리를 가능하게 함으로써 효율성을 제공한다. The
- 한 명의 사용자가 다중으로 서비스를 제공받고 있을 경우, 서비스의 종류에 따라 서비스 제공 레벨(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
즉, 서비스 제어기(50)는 서비스 지역(Spot)에서 서비스 간의 충돌 발생을 방지하기 위한 서비스 스케쥴링을 수행함으로써 여러 서비스가 동시에 실행되어 충돌하는 것을 방지하고, 서비스 우선순위 및 해당 장소에서의 사용자 우선순위에 따른 서비스 스케쥴링을 수행하며, 다양한 형태의 상황정보[MMI로부터 입력되는 제어 신호 및 서비스 요청 신호와 댁내의 센서(Sensor)로부터 입력되는 센서 신호]를 공통된 포맷으로 번역(Translating)하여 다른 번들로 전송한다. 또한, 각 센서 입력에 대한 분류 및 사용자의 입력에 따른 기본 데이터와의 조합 및 관리 기능을 수행한다. 또한, 입출력 정보가 미들웨어에서 처리하기에 적합하지 않은 형태일 경우나 잘못 전송된 경우 해당 정보를 필터링(Filtering)하는 기능을 수행한다. 또한, 동시에 여러 신호가 전송되었을 경우, 각 입력에 대한 기본적인 상황정보에 따라 데이터의 흐름 및 서비스나 다른 번들로의 전송에 대한 스케쥴링 기능을 수행하고, 장소별 서비스 세션 구성을 통한 서비스 관리 및 스케쥴링 기능을 수행한다. That is, the
그럼, 본 발명에 따른 서비스 제어 장치[서비스 제어기(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.
상기와 같은 구성을 갖는 본 발명에 따른 서비스 제어기(50)의 각 구성요소들의 기능을 보다 구체적으로 살펴보면 다음과 같다. Looking at the function of each component of the
데이터 필터(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
정책엔진(54)은 서비스 간의 우선순위를 정의하고 있으며, 이에 따라 다양한 서비스가 동시에 실행될 경우, 우선순위에 따라 서비스가 실행될 수 있도록 한다.The
상기 데이터 필터(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
또한, 상기 정책엔진(54)은 서비스 충돌 상황을 해결하기 위한 서비스 간의 우선순위 및 정책(Policy)을 관리하는 서비스 우선순위 및 정책 관리자(Service Priority & Policy Manager)를 구비한다. 이때, 적용되는 정책들로는 보안 레벨(Security Level), 지능적 레벨(Intelligence Level)(하기의 [표 4] 참조), 사용자 우선순위(User Priority)(하기의 [표 1] 및 [표 2 참조), 기기 접근 레벨(Device Access Level)(하기의 [표 3] 참조) 등이 있다. In addition, the
또한, 상기 서비스 데이터 매니저(54)는 서비스 이름, 서비스 상태 등의 서비스 정보를 저장하고 있는 서비스 데이터 테이블(Service Data Table)과, 서비스 데이터 테이블에 접근하여 쿼리 정보를 수집/업데이트하는 서비스 쿼리 매니저(Service Query Manager)로 구성된다. In addition, the
사용자의 서비스 이용시, 서비스 제어기(50)의 동작 과정은 도 5와 같다. When the user uses the service, the operation of the
외부의 번들로부터 서비스 제어기(50)로 접근하는 경우는, 특정 서비스를 실행하기 위해 서비스 제어기(50)로 서비스 이름(Service Name), 서비스 상태(Service State), 사용자 ID를 서비스 제어기 API(51)로 전송하는 경우와[이 경우 서비스 제어기(50)는 인터페이스 기능을 수행함], 상황인지 서버 소켓(51)으로 MMI(60) 및 UI로부터 사용자가 직접 접근하거나 센서 값이 들어오는 경우가 있다[이 경우 서비스 제어기(50)는 서비스 관리 기능을 수행함]. In the case of accessing the
즉, 상황인지 서버 소켓(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-
먼저, 서비스 제어기(50)의 인터페이스 기능에 대해 살펴보기로 한다. First, the interface function of the
사용자 단말, 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
또한, 사용자 단말, 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
또한, 각각의 서비스 지역(예로서, 거실, 안방, 현관 등)에 위치한 센서가 사용자를 감지[즉, 사용자의 위치가 변하거나 서비스 지역의 상태가 변하는 경우 등]하면, 해당 센서는 인터페이스 제어기(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
이상에서는 서비스 제어기(50)의 입력 인터페이스 기능을 살펴보았다. 이에 대응되는 서비스 제어기(50)의 출력 인터페이스 기능을 살펴보면, 명령어가 서비스 모드 입력인 경우, 추론엔진(30)에서는 서비스 및 제어될 기기가 결정되면 해당 데이터(기기제어 정보)를 디바이스 제어기(Device Controller)로 전송하고 처리 결과를 인터페이스 제어기(50)로 전송하여, 사용자에게 서비스를 제공토록 한다. 이때, 기기 제어가 필요할 경우 디바이스 제어기로 해당 서비스에 대한 기기 제어 목록 및 Property를 전송하여 기기를 제어하게 된다.In the above, the input interface function of the
또한, 명령어가 기기제어 입력의 경우, 추론엔진(30)에서는 수집된 정보(정책 중 사용자 기기 접근 레벨)를 바탕으로 기기의 제어 유무를 판단하여, 사용 가능할 경우 디바이스 제어기로 제어명령(온/오프)을 전송하고 처리 결과를 인터페이스 제어기(50)를 통해 사용자에게 알린다. 이때, 기기 제어가 필요할 경우 디바이스 제어기로 해당 서비스에 대한 기기 제어 목록 및 Property를 전송하여 기기를 제어하게 된다.In addition, if the command is a device control input, the
또한, 명령어가 시스템 설정 입력의 경우, 추론엔진(30)은 인터페이스 제어기(50)를 통해 처리 결과(온톨로지 업데이트 결과)를 사용자에게 알린다. In addition, when the command is a system setting input, the
또한, 사용자의 정보 요청 입력의 경우, 추론엔진(30)은 사용자가 요청한 정보를 수집하여 정책(보안레벨, 우선순위)에 따라 정보를 결정하여, 인터페이스 제어기(50)를 통해 사용자에게 전송한다. In addition, in the case of a user's information request input, the
또한, 센서 입력 정보의 경우, 추론엔진(30)은 정책(보안 레벨, 기기 접근 레벨, 우선순위, 지능적 레벨)을 바탕으로 디바이스 제어기로 기기제어 명령을 전송하고 그 제어 결과를 인터페이스 제어기(50)를 통해 사용자에게 알린다. 이때, 기기 제어가 필요할 경우 디바이스 제어기로 해당 서비스에 대한 기기 제어 목록 및 Property를 전송하여 기기를 제어하게 된다.In addition, in the case of sensor input information, the
한편, 서비스 제어기(50)의 서비스 관리 기능에 대해 살펴보기로 한다. Meanwhile, a service management function of the
시스템 내부의 번들로부터 전송된 서비스에 대한 데이터가 서비스 제어기(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
즉, 사용자 단말, 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
또한, 전술한 바와 같이, 각각의 서비스 지역(예로서, 거실, 안방, 현관 등) 에 위치한 센서에서 사용자를 감지할 경우[즉, 사용자의 위치가 변하거나 서비스 지역의 상태가 변하는 경우 등], 해당 센서는 인터페이스 제어기(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
이후, 서비스 제어기(50)는 해당 서비스에 대한 등록 여부 및 구성, 스케쥴링에 대하여 서비스 제공 적절성 여부를 검사한 후[서비스 관리 기능], 세션 매니저(40)로 데이터(사용자 ID, 서비스 이름, 서비스 상태)를 전송하여, 해당 세션에 사용자와 서비스 상태 정보를 등록시키게 된다. Thereafter, the
상기에서, 서비스 제어기(50)가 참조하는 정책(보안 레벨, 기기 접근 레벨, 우선순위, 지능적 레벨)을 보다 구체적으로 살펴보면 다음과 같다. In the above, the policy (security level, device access level, priority, intelligent level) referenced by the
우선순위(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.
또한, 태스크 우선순위(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.
한편, 보안 레벨(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.
또 다른 한편, 지능적 레벨(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.
서비스 제어기(50)의 서비스 스케쥴러(55)는 사용자별, 위치별 서비스 관리를 담당한다. 서비스 스케쥴러(55)에서의 관리하는 서비스들의 라이프 사이클(Life Cycle)은 도 6과 같다. The
도 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
그 후, 서비스가 실행되면서 실행(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
이상에서와 같이, 사용자에 명령 또는 사용자의 이동에 따른 센서 입력, 환경 정보에 따른 센서 입력에 대해 서비스가 요구되어 진다. 이때, 본 발명에 따른 서비스 제어기(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
한편, 전술한 바와 같은 본 발명의 방법은 컴퓨터 프로그램으로 작성이 가능하다. 그리고 상기 프로그램을 구성하는 코드 및 코드 세그먼트는 당해 분야의 컴퓨터 프로그래머에 의하여 용이하게 추론될 수 있다. 또한, 상기 작성된 프로그램은 컴퓨터가 읽을 수 있는 기록매체(정보저장매체)에 저장되고, 컴퓨터에 의하여 판독되고 실행됨으로써 본 발명의 방법을 구현한다. 그리고 상기 기록매체는 컴퓨터가 판독할 수 있는 모든 형태의 기록매체를 포함한다.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)
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)
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 |
-
2007
- 2007-11-22 KR KR1020070119875A patent/KR20090053179A/en not_active Application Discontinuation
Cited By (6)
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 |