KR102485645B1 - A Distributed IoT System based on distributed ontology structure for Task-driven Smart Objects Collaboration - Google Patents
A Distributed IoT System based on distributed ontology structure for Task-driven Smart Objects Collaboration Download PDFInfo
- Publication number
- KR102485645B1 KR102485645B1 KR1020160042363A KR20160042363A KR102485645B1 KR 102485645 B1 KR102485645 B1 KR 102485645B1 KR 1020160042363 A KR1020160042363 A KR 1020160042363A KR 20160042363 A KR20160042363 A KR 20160042363A KR 102485645 B1 KR102485645 B1 KR 102485645B1
- Authority
- KR
- South Korea
- Prior art keywords
- electronic device
- information
- service
- server
- task
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Animal Behavior & Ethology (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Information Transfer Between Computers (AREA)
Abstract
본 발명은 지능형 서비스 제공을 위한 사물인터넷 시스템에 관한 것으로서, 본 발명의 시스템의 하나는, 서버와 적어도 하나의 전자기기를 포함하는 것을 특징으로 하되, 상기 서버는, 적어도 하나의 전자기기와 통신할 수 있는 통신부; 사용자의 행동 별로 마련되는 복수의 태스크와, 상기 적어도 하나의 전자기기가 수행할 수 있는 복수의 서비스에 관한 정보를 저장할 수 있는 저장부; 및 상기 통신부를 통하여 상기 적어도 하나의 전자기기로부터 상황정보를 수신하고, 상기 복수의 태스크 중에서 상기 수신된 상황정보가 나타내는 사용자의 행동에 대응하는 태스크를 결정하고, 상기 적어도 하나의 전자기기 중에서 상기 결정된 태스크에 대응하는 상기 서비스를 제공할 수 있는 제1전자기기로 상기 서비스에 관한 정보를 전송하도록 하는 처리부를 포함하는 것을 특징으로 하고, 상기 전자기기는, 서버와 통신할 수 있는 통신부; 사용자와의 상호작용 이력 정보를 저장할 수 있는 저장부; 서버로부터 서비스에 관한 정보를 수신하면 해당 서비스를 제공하는 처리부를 포함하되, 상기 해당 서비스를 제공함에 있어서는 상기 저장부에 저장된 사용자와의 상호작용 이력 정보를 바탕으로 서비스를 제공하는 것을 특징으로 한다.
본 발명에 의하면, IoT를 구성하는 각 스마트 오브젝트가 자율적인 분산 객체로써 주변 및 사용자의 상황정보를 수집하여 그 의미를 이해하고 이를 바탕으로 사용자에게 개인화된 서비스를 제공할 수 있고, 여러 스마트 오브젝트가 제공하는 서비스의 집합적 개념인 태스크 단위로 서비스를 제공함으로써 여러 스마트 오브젝트들의 협업을 통해 사용자에게 통합적인 서비스를 제공할 수 있으며, 중앙 집중식 IoT 시스템 구조가 갖는 한계를 극복할 수 있다.The present invention relates to an IoT system for providing intelligent services, and one of the systems of the present invention is characterized in that it includes a server and at least one electronic device, wherein the server communicates with at least one electronic device. communication unit that can; a storage unit capable of storing information about a plurality of tasks provided for each user's behavior and a plurality of services that the at least one electronic device can perform; and receiving situation information from the at least one electronic device through the communication unit, determining a task corresponding to a user's action indicated by the received situation information from among the plurality of tasks, and determining the determined task among the at least one electronic device. and a processing unit for transmitting information about the service to a first electronic device capable of providing the service corresponding to a task, wherein the electronic device includes: a communication unit capable of communicating with a server; a storage unit capable of storing interaction history information with a user; A processing unit providing a corresponding service upon receiving information about a service from a server, wherein the corresponding service is provided based on the interaction history information stored in the storage unit.
According to the present invention, each smart object constituting the IoT is an autonomous distributed object that collects surrounding and user context information, understands its meaning, and provides personalized services to users based on this, and multiple smart objects By providing services in task units, which are a collective concept of provided services, it is possible to provide integrated services to users through the collaboration of several smart objects, and overcome the limitations of the centralized IoT system structure.
Description
본 발명은 지능형 서비스 제공을 위한 사물인터넷 시스템, 더 구체적으로는 스마트 오브젝트의 태스크 기반 협업을 위한 분산 설계 온톨로지에 기반한 분산 사물인터넷 시스템에 관한 것이다.The present invention relates to an IoT system for providing intelligent services, and more specifically, to a distributed IoT system based on a distributed design ontology for task-based collaboration of smart objects.
2000년대 초 MIT Auto-ID 센터의 Kevin Ashton이 IoT(Internet of Things, 사물인터넷)라는 단어를 처음 소개한 이후로, 우리는 일상 생활에서 '스마트 오브젝트'라고 불리고 있는 수많은 IoT 객체들을 접하며 살아가고 있다. 2014년 발표된 Echelon Corporate Overview는 2025년에는 전 세계적으로 400억개의 스마트 오브젝트가 IoT 환경을 이룰 것으로 예측했고, 영국 정부 보고에 따르면 이러한 스마트 오브젝트들이 네트워크에 연결되면서 일상생활 속에서 사람 및 다른 스마트 오브젝트들과 데이터를 주고 받을 것으로 전망했다. 이러한 전망에 따라 IoT가 최근 산업계와 학계의 주요 이슈로 대두되면서, IoT 환경에서 사용자 맞춤형 서비스를 제공하기 위한 시스템을 어떤 구조로 설계해야 하는지에 대한 연구가 전세계적으로 활발히 진행되고 있다.Since Kevin Ashton of the MIT Auto-ID Center first introduced the word IoT (Internet of Things) in the early 2000s, we are living in contact with numerous IoT objects called 'smart objects' in our daily lives. The Echelon Corporate Overview announced in 2014 predicted that 40 billion smart objects worldwide would form an IoT environment by 2025, and according to the UK government report, as these smart objects are connected to the network, people and other smart objects in everyday life expected to exchange data with them. According to this prospect, as IoT has recently emerged as a major issue in industry and academia, research on how to design a system to provide user-customized services in the IoT environment is being actively conducted worldwide.
CERP-IoT (Cluster of European Research Projects on the Internet of Things)는 IoT 환경 속 사물(Things)의 특징과 역할을 다음과 정의하였다: IoT를 구성하는 각 사물은 다른 사물 및 환경과의 상호작용을 통해 수집된 정보를 기반으로 주변에서 일어나는 이벤트들에 대해 사용자의 직접적인 개입 없이도 상황에 맞는 행동을 취해주는 자율적인 서비스 제공자 역할을 수행한다. 이러한 정의가 IoT 분야의 통일된 표준은 아니지만, 대다수의 연구가 이 개념에 기초하여 진행되고 있다.CERP-IoT (Cluster of European Research Projects on the Internet of Things) defined the characteristics and roles of things in the IoT environment as follows: Each thing constituting the IoT interacts with other things and the environment. Based on the collected information, it plays the role of an autonomous service provider that takes action according to the situation without direct intervention of the user on the events occurring in the surroundings. Although this definition is not a unified standard in the field of IoT, the majority of research is being conducted based on this concept.
IoT 시스템이 이러한 CERP-IoT의 정의에 부합하기 위해서는 적어도 다음의 요구사항을 만족해야 한다: ① 상황정보 수집, ② 상황정보 해석, ③ 개인화된 서비스 제공, ④ 태스크 중심의 협업. 각 요구사항의 내용을 보다 자세히 살펴보면 다음과 같다.In order for an IoT system to conform to the definition of CERP-IoT, it must at least satisfy the following requirements: ① contextual information collection, ② contextual information interpretation, ③ personalized service provision, and ④ task-oriented collaboration. The details of each requirement are as follows.
(1) 상황정보 수집(Context Capturing)(1) Context Capturing
CERP-IoT의 정의에 따라 각 스마트 오브젝트를 자율적인 서비스 제공자로 만들기 위해 가장 기본적인 요소는 주변 상황정보(Context)에 대한 인지(Awareness)이다. 많은 상황정보를 접할수록 사람과 스마트 오브젝트 사이의 상호작용은 더욱 풍부해지고 보다 유용한 서비스의 제공이 가능해진다. 따라서, IoT 환경에서 상황에 맞는 유용한 서비스를 제공해주기 위해서는 각 스마트 오브젝트가 다른 스마트 오브젝트 또는 환경으로부터 제공되는 유의미한 상황정보를 수집하여 저장하고 관리할 수 있어야 한다.According to the definition of CERP-IoT, the most basic element to make each smart object an autonomous service provider is awareness of the surrounding context. The more contextual information is encountered, the richer the interaction between people and smart objects, and the more useful services can be provided. Therefore, in order to provide useful services tailored to the situation in the IoT environment, each smart object must be able to collect, store, and manage meaningful context information provided from other smart objects or environments.
(2) 상황정보 해석(Context Reasoning)(2) Context Reasoning
수집된 상황정보가 상황에 적합한 서비스 제공의 근거로 활용되기 위해서는 현재 상황이 가지는 의미(Semantics)를 올바르게 해석(Reasoning) 하는 것이 필수적이다. 상황이 갖는 의미의 이해는 IoT 비전 실현을 위한 핵심 기술의 하나로 꼽힌다. 즉, 각 스마트 오브젝트는 자율적 서비스 제공자가 되려면, 수집된 상황 정보를 토대로 현재 상황이 자기 자신 혹은 사용자에게 의미하는 바가 무엇인지를 해석할 수 있어야 한다.In order for the collected contextual information to be used as a basis for providing services appropriate to the context, it is essential to properly interpret the semantics of the current context. Understanding the meaning of the situation is considered one of the key skills for realizing the IoT vision. That is, in order to become an autonomous service provider, each smart object must be able to interpret what the current situation means to itself or the user based on the collected situation information.
(3) 개인화된 서비스 제공(Personalization)(3) Provide personalized service (Personalization)
현재 상황 및 사용자 정보에 대한 인지와 해석이 가능하면, 이제 각 스마트 오브젝트는 그에 맞추어 사용자에게 개인화된 서비스를 제공할 수 있어야 한다. 즉, 각 스마트 오브젝트는 사용자의 개입 없이도 해당 사용자의 기호에 맞춰 서비스를 능동적으로 제공할 수 있어야 한다. 이때, 서비스 적응 전략을 올바르게 세우고 서비스의 소비자인 사용자의 만족도를 높이기 위해서는 각 스마트 오브젝트가 사용자와의 지속적인 상호작용을 통해 사용자의 기호를 학습하고 그를 기반으로 적응 전략을 업데이트 할 수 있어야 한다. 실제로 사용자들은 단순한 상황의 인지 및 해석을 넘어 스마트 오브젝트가 제공한 개인화된 서비스가 본인의 요구를 충족시켜줄 때 비로소 이를 “스마트하다”고 인지한다.If it is possible to recognize and interpret the current situation and user information, each smart object should be able to provide a personalized service to the user accordingly. That is, each smart object must be able to actively provide a service according to the user's preference without user intervention. At this time, in order to properly establish a service adaptation strategy and increase the satisfaction of the user, the consumer of the service, each smart object must be able to learn the user's preference through continuous interaction with the user and update the adaptation strategy based on it. In fact, users go beyond simply recognizing and interpreting situations and recognize them as “smart” only when the personalized service provided by the smart object satisfies their needs.
(4) 태스크 중심의 협업(Task-oriented collaboration)(4) Task-oriented collaboration
상황정보 인지, 공유, 해석, 그리고 그에 따른 서비스 행태의 적응이 가능하다면, 각 스마트 오브젝트가 자율적인 서비스 제공자로써 갖추어야 할 또 다른 요구사항은 다른 스마트 오브젝트와의 협업(collaboration)을 통해 사용자의 작업을 전체적이고 통합적으로 지원해주는 것이다.If it is possible to recognize context, share, interpret, and adapt service behavior accordingly, another requirement that each smart object must have as an autonomous service provider is to collaborate with other smart objects to perform user tasks. It provides holistic and integrated support.
일상 생활을 되돌아 보면 원하는 목적을 달성하기 위해 여러 스마트 오브젝트와 상호작용을 수행해야 할 경우가 많다(예를 들어 수면을 위해서는 TV나 전등을 끄고 알람 시간을 맞추는 작업 등이 필요할 것이다). 이를 지원하기 위해서는 여러 스마트 오브젝트의 서비스를 집합적으로 포함하는 사용자 '태스크(Task)' 단위로 서비스를 제공하는 것이 효율적이다. 이처럼 사용자 태스크 레벨에서 사용자 맞춤형 서비스를 제공해주기 위해서는, 주어진 태스크를 수행하기 위해 서비스를 제공할 필요가 있는 여러 스마트 오브젝트를 발견하고 그들에게 서비스 제공을 요청할 수 있는 기술이 개발되어야 한다.Looking back at our daily lives, we often need to interact with multiple smart objects to achieve a desired goal (for example, turning off the TV or lights, setting an alarm time, etc. to sleep). To support this, it is efficient to provide services in units of user 'task' that collectively includes the services of several smart objects. In order to provide user-customized services at the user task level, a technology capable of discovering several smart objects that need to provide services to perform a given task and requesting them to provide services must be developed.
그러나 종래의 연구를 통해 개발된 시스템은 위 4가지 요구사항을 모두 만족하지는 못하고 있다. Sasidharan(2014)의 경우(Sasidharan, Sreekanth, et al. "Cognitive management framework for Internet of Things:―A prototype implementation." Internet of Things (WF-IoT), 2014 IEEE World Forum on. IEEE, 2014), Composite Virtual Object라는 추상화된 개념을 통해 스마트 오브젝트 간의 협동(Coordination) 메커니즘을 설계 및 구현함으로써 사용자 태스크 중심의 서비스 제공을 위한 기틀을 마련하였지만, 각 스마트 오브젝트를 Virtual Object로 추상화하여 상황 인지 서비스 제공의 일부로 포함시키는 수준에 그칠 뿐 자율적인 분산 객체로써 어떤 내부 구조를 가지고 지식 기반의 상황 판단을 하고 환경 변화에 대응해야 하는지에 대해서는 제시하지 않고 있다. However, systems developed through conventional research do not satisfy all of the above four requirements. For Sasidharan (2014) (Sasidharan, Sreekanth, et al. "Cognitive management framework for Internet of Things:―A prototype implementation." Internet of Things (WF-IoT), 2014 IEEE World Forum on. IEEE, 2014), Composite By designing and implementing a coordination mechanism between smart objects through an abstract concept called Virtual Object, the foundation for providing user task-oriented services was laid, but each smart object was abstracted into a Virtual Object and included as part of providing context-aware services. As an autonomous distributed object, it does not suggest what kind of internal structure it should have to make knowledge-based situation judgments and respond to environmental changes.
Lee(2014)의 경우(Lee, Ju Hyun, et al. "Context-aware inference in ubiquitous residential environments." Computers in Industry 65.1 (2014): 148-157), 제안하는 프레임워크의 구조가 상황 정보의 수집 및 처리를 담당하는 서버를 염두에 두고 설계되었기 때문에 이 또한 각 스마트 오브젝트가 자율적으로 상황 판단을 하여 적응적으로 서비스를 제공해줄 수 있도록 하는 데에는 한계가 있다. 또한 이 연구는 주로 상황의 해석(Context Reasoning)을 위한 추론에 초점을 두고 있기 때문에, 상황 정보의 입력 및 룰의 설계는 시스템 관리자 혹은 사용자에 의해 수행되어야 한다는 가정을 두고 있다. 이러한 가정은 IoT 환경에서 각 스마트 오브젝트가 자율적으로 서비스를 제공하는 데에 있어 치명적인 제약사항이 될 수 있다.In the case of Lee (2014) (Lee, Ju Hyun, et al. "Context-aware inference in ubiquitous residential environments." Computers in Industry 65.1 (2014): 148-157), the structure of the proposed framework is Since it was designed with the server in charge of processing and processing in mind, there is also a limit to allowing each smart object to autonomously judge the situation and provide adaptive services. In addition, since this study mainly focuses on reasoning for context reasoning, it is assumed that input of context information and design of rules should be performed by system administrators or users. This assumption can be a fatal constraint for each smart object to autonomously provide services in an IoT environment.
Yu(2013)의 경우(Yu, Lian, et al. "Context-Aware Service Modeling and Rule Evolution." 2013 10th Web Information System and Application Conference. 2013), 온톨로지로 작성 된 지식을 기반으로 수집 된 상황 정보를 해석하고 그를 통해 사용자의 기호 및 그에 대응되는 서비스 제공 방식을 룰로 작성해주는 컨텍스트 엔진의 설계에 초점을 맞추고 있다. 이 연구의 경우, 비록 각 스마트 오브젝트를 자율적인 서비스 제공자로 만드는 것을 주 목적으로 하지는 않지만, 제안하는 시스템의 구조가 각 스마트 오브젝트에 내재된다면 분산 객체로써 지녀야 할 지능 및 자율성을 어느 정도 갖출 수 있을 것으로 보인다. 하지만 실제 스마트 오브젝트 및 IoT 환경에로의 적용을 통한 검증이 수행된 바가 없다는 점과 스마트 오브젝트 간의 상호작용 및 사용자 태스크 지원을 위한 스마트 오브젝트 간 협업에 대한 고려가 부재하다는 점에서는 여전히 한계가 있다.In the case of Yu (2013) (Yu, Lian, et al. "Context-Aware Service Modeling and Rule Evolution." 2013 10th Web Information System and Application Conference. 2013), context information collected based on knowledge written in ontology It focuses on the design of a context engine that analyzes and writes the user's preference and the corresponding service provision method as a rule. In the case of this study, although the main purpose is not to make each smart object an autonomous service provider, if the structure of the proposed system is inherent in each smart object, it is expected that it will be able to have some degree of intelligence and autonomy required as a distributed object. see. However, there are still limitations in that there is no verification through application to actual smart objects and IoT environments, and there is no consideration for interaction between smart objects and collaboration between smart objects to support user tasks.
Ni(2011)의 경우(Ni, Hongbo, et al. "CDTOM: A Context-driven Task-oriented Middleware for Pervasive Homecare Environment." arXiv preprint arXiv:1102,1152 (2011)), 수집 된 상황 정보에 기반하여 어떻게 IoT 환경에 존재하는 다양한 센서 및 액츄에이터를 조합하여 사용자 태스크를 일관성 있게 지원해 줄 것인지에 초점을 두고 있다. 하지만 각 센서 및 액츄에이터들은 단순히 상황 정보를 서버에 보고하거나 혹은 서버로부터 오는 명령에 따라 서비스를 제공하는 역할을 할 뿐, 전혀 지능적이지 않은 오브젝트로 시스템에 포함되어 있다. 이 경우 서버에 모든 오버헤드가 부과되고 또 그로 인해 서버가 일시적으로 응답하지 않을 경우 모든 시스템이 마비되어 버리는 단일 고장점 (Single point of failure) 문제가 심각한 이슈로 발생할 수 있다. For Ni (2011) (Ni, Hongbo, et al. "CDTOM: A Context-driven Task-oriented Middleware for Pervasive Homecare Environment." arXiv preprint arXiv:1102,1152 (2011)), based on the context information collected The focus is on how to consistently support user tasks by combining various sensors and actuators that exist in the IoT environment. However, each sensor and actuator merely serves to report situational information to the server or provide services according to commands received from the server, and is included in the system as a completely unintelligent object. In this case, all the overhead is imposed on the server, and a single point of failure problem in which all systems are paralyzed when the server temporarily does not respond can occur as a serious issue.
위 내용을 표로 정리하면 다음과 같다.The above information is summarized in a table as follows.
즉, 현재 IoT 시스템 연구 결과물의 대부분은, 각 스마트 오브젝트가 자율적인 분산 객체로써 주변 및 사용자의 상황 정보의 의미를 이해하고 그를 기반으로 적응적으로 상황에 적절한 서비스를 제공하도록 기능하는 것을 시스템적으로 지원하기에는 부족하다. 또한 종래 연구에서 제안된 IoT 시스템의 각 스마트 오브젝트는 대부분 고도의 지능 없이 단순히 환경 정보의 센싱 혹은 단방향적인 서비스의 제공만을 담당하고 있고, 지능을 요구하는 대부분의 작업은 단일 서버(예를 들면 홈게이트웨이나 클라우드)에 할당되고 있다. 앞서 언급한 Echelon Corporate Overview나 영국 정부의 전망이 현실화 되어 거대한 수의 스마트 오브젝트가 네트워크에 연결될 경우, 이러한 중앙 집중식 구조에서는 트래픽과 데이터 처리가 서버로 집중되어 전체적인 성능이 심각하게 저하될 우려가 있고, 서버에 이상이 발생할 경우 시스템 전체의 작동이 중단되는 사태(이른바 단일 고장점 문제, Single point of failure)가 발생할 위험도 크다. 나아가 모든 서비스가 하나의 강력한 서버를 기반으로 제공된다는 가정 또한 비현실적이다. That is, most of the current IoT system research results are systemic in that each smart object, as an autonomous distributed object, understands the meaning of surrounding and user context information and functions to adaptively provide a service appropriate to the situation based on it. not enough to support In addition, each smart object of the IoT system proposed in previous studies is in charge of simply sensing environmental information or providing one-way services without high intelligence, and most tasks requiring intelligence are performed by a single server (e.g., home gateway). or cloud). If the aforementioned Echelon Corporate Overview or the UK government's prospects come true and a huge number of smart objects are connected to the network, traffic and data processing are concentrated on the server in such a centralized structure, resulting in serious deterioration in overall performance. In the event of a server failure, there is also a high risk of causing the entire system to stop operating (so-called single point of failure). Furthermore, the assumption that all services are provided based on one powerful server is also unrealistic.
따라서 본 발명은 IoT를 구성하는 각 스마트 오브젝트가 자율적인 분산 객체로써 주변 및 사용자의 상황정보를 수집하여 그 의미를 이해하고 이를 바탕으로 사용자에게 개인화된 서비스를 제공할 수 있는 시스템, 여러 스마트 오브젝트가 제공하는 서비스의 집합적 개념인 태스크 단위로 서비스를 제공함으로써 여러 스마트 오브젝트들의 협업을 통해 사용자에게 통합적인 서비스를 제공할 수 있는 시스템, 중앙 집중식 IoT 시스템 구조가 갖는 한계를 극복할 수 있는 시스템의 기반이 되도록 설계된 온톨로지를 제시하고, 이러한 온톨로지에 기반한 시스템을 제공하는 것을 목적으로 한다.Therefore, according to the present invention, each smart object constituting the IoT is an autonomous distributed object, and a system and several smart objects that can collect contextual information of the surroundings and users, understand the meaning, and provide personalized services to users based on this. A system that can provide integrated services to users through the collaboration of several smart objects by providing services in a task unit, which is a collective concept of the services provided, and a system that can overcome the limitations of a centralized IoT system structure. The purpose of this study is to suggest an ontology designed to be, and to provide a system based on this ontology.
상기 목적을 달성하기 위한, 본 발명의 서버의 하나는, 적어도 하나의 전자기기와 통신할 수 있는 통신부; 사용자의 행동 별로 마련되는 복수의 태스크에 관한 정보와, 상기 적어도 하나의 전자기기가 수행할 수 있는 복수의 서비스에 관한 정보를 저장할 수 있는 저장부; 및 상기 통신부를 통하여 상기 적어도 하나의 전자기기로부터 상황정보를 수신하고, 상기 복수의 태스크 중에서 상기 수신된 상황정보가 나타내는 사용자의 행동에 대응하는 태스크를 결정하고, 상기 적어도 하나의 전자기기 중에서 상기 결정된 태스크에 대응하는 상기 서비스를 제공할 수 있는 제1전자기기로 상기 서비스에 관한 정보를 전송하도록 하는 처리부를 포함하는 것을 특징으로 한다.To achieve the above object, one of the servers of the present invention includes a communication unit capable of communicating with at least one electronic device; a storage unit capable of storing information on a plurality of tasks provided for each user's behavior and information on a plurality of services that the at least one electronic device can perform; and receiving situation information from the at least one electronic device through the communication unit, determining a task corresponding to a user's action indicated by the received situation information from among the plurality of tasks, and determining the determined task among the at least one electronic device. and a processing unit configured to transmit information about the service to a first electronic device capable of providing the service corresponding to the task.
상기 서버에 있어서, 상기 태스크에 관한 정보는 태스크 이력 정보를 포함하고, 상기 처리부는, 상기 태스크 이력 정보에 기초하여 상기 상황정보에 대응하는 상기 태스크를 결정하는 것을 특징으로 할 수 있다. 이러한 태스크 이력 정보를 바탕으로 일정 상황에서 사용자가 수행하려는 태스크의 추론을 서버 스스로 하게 되면 사용자가 직접 태스크 수행 명령을 내리지 않더라도 자동으로 사용자가 원하는 서비스를 여러 스마트 오브젝트들이 협력하여 제공하게 되므로, 사용자의 편의성 측면에서 큰 효과가 있다.In the server, the information about the task may include task history information, and the processing unit may determine the task corresponding to the situation information based on the task history information. Based on this task history information, if the server itself infers the task the user wants to perform in certain situations, even if the user does not directly issue a task execution command, the service desired by the user is automatically provided by multiple smart objects in cooperation, so that the user's It has a great effect in terms of convenience.
나아가 상기 처리부는, 상기 태스크 이력 정보에 기초하여 상기 상황정보에 대응하는 상기 태스크 및 상기 태스크에 대응하는 적어도 하나의 상기 서비스에 관한 정보를 생성하여 상기 저장부에 저장하는 것을 특징으로 할 수 있다. 이를 통해 서버는 특정 상황에서의 사용자 행동 또는 태스크 정보를 스스로 구축한 후, 향후 그 특정 상황이 인지되면 그 태스크 수행에 적합한 스마트 오브젝트 서비스들을 자동으로 호출할 수 있게 된다.Furthermore, the processing unit may generate information about the task corresponding to the situation information and at least one service corresponding to the task based on the task history information, and store the information in the storage unit. Through this, the server can automatically call smart object services suitable for performing the task after establishing user behavior or task information in a specific situation by itself and recognizing the specific situation in the future.
또한 상기 서버에 있어서, 상기 처리부는, 상기 제1전자기기 이외의 제2전자기기로부터 수신한 상기 상황정보를 상기 제1전자기기로 전송하는 것을 특징으로 할 수 있다. 이처럼 하나의 전자기기가 자신이 직접 생성·수집한 상황정보뿐만 아니라 다른 전자기기가 생성·수집한 상황정보를 추가로 제공받아 개인화 서비스 제공에 활용한다면 더욱 지능화된 개인화 서비스를 제공할 수 있다.In the server, the processing unit may transmit the situation information received from a second electronic device other than the first electronic device to the first electronic device. In this way, if an electronic device additionally receives context information generated and collected by itself as well as context information generated and collected by another electronic device and uses it to provide personalized service, a more intelligent personalized service can be provided.
나아가 상기 서버에 있어서, 상기 복수의 태스크는, 장소 별로 더 분류되며, 상기 처리부는, 상기 상황정보가 나타내는 장소에 대응하는 태스크를 결정하는 것을 특징으로 할 수 있다.Furthermore, in the server, the plurality of tasks may be further classified according to places, and the processing unit may determine a task corresponding to a place indicated by the situation information.
본 발명의 전자기기의 하나는, 서버와 통신할 수 있는 통신부; 상황정보를 저장할 수 있는 저장부; 및 상기 서버로부터 서비스에 관한 정보를 수신하면 해당 서비스를 제공하는 처리부를 포함하고, 상기 해당 서비스를 제공함에 있어서는 상기 저장부에 저장된 상황정보를 바탕으로 서비스의 내용을 결정하여 제공하는 것을 특징으로 한다.One of the electronic devices of the present invention, the communication unit capable of communicating with the server; a storage unit capable of storing situation information; and a processor that provides the corresponding service upon receiving information about the service from the server, and in providing the corresponding service, determines and provides the content of the service based on the situation information stored in the storage unit. .
나아가 상기 상황정보는 사용자와의 상호작용 이력을 포함하는 것을 특징으로 할 수 있다. 이를 통해 서비스 제공 요청을 받은 전자기기 각각이 자체적인 판단에 의해 사용자에게 개인화된 서비스를 제공할 수 있게 되고 모든 판단을 서버에서 하는 시스템에 비해 그 판단 능력이 분산됨에 따라 기존의 중앙집중식 사물인터넷 시스템의 단점인 단일 고장점 문제를 완화하면서도 지능적인 서비스의 제공이 가능하게 된다.Furthermore, the context information may include a history of interaction with the user. Through this, each electronic device that has received a service provision request can provide personalized service to the user by its own judgment, and the existing centralized IoT system as the judgment ability is distributed compared to the system in which all judgments are made in the server. It is possible to provide intelligent services while mitigating the single point of failure problem, which is a disadvantage of
또한, 상기 전자기기에 있어서, 상기 처리부는, 서버가 제2전자기기로부터 수신한 상황정보를 서버로부터 수신하는 것을 특징으로 할 수 있다. 이처럼 하나의 전자기기가 자신이 직접 생성·수집한 상황정보뿐만 아니라 다른 전자기기가 생성·수집한 상황정보를 추가로 제공받아 개인화 서비스 제공에 활용한다면 더욱 지능화된 개인화 서비스를 제공할 수 있다.Further, in the electronic device, the processing unit may be characterized in that it receives the situation information received by the server from the second electronic device from the server. In this way, if an electronic device additionally receives context information generated and collected by itself as well as context information generated and collected by another electronic device and uses it to provide personalized service, a more intelligent personalized service can be provided.
상기 목적을 달성하기 위한 본 발명의 시스템의 하나는, 서버와 적어도 하나의 전자기기로 구성된 사물인터넷 시스템으로서, 상기 서버는, 사용자의 행동 별로 마련되는 복수의 태스크에 관한 정보와, 상기 적어도 하나의 전자기기가 수행할 수 있는 복수의 서비스에 관한 정보를 저장할 수 있는 저장부; 및 상기 적어도 하나의 전자기기로부터 상황정보를 수신하고, 상기 복수의 태스크 중에서 상기 수신된 상황정보가 나타내는 사용자의 행동에 대응하는 태스크를 결정하고, 상기 적어도 하나의 전자기기 중에서 상기 결정된 태스크에 대응하는 상기 서비스를 제공할 수 있는 제1전자기기로 상기 서비스에 관한 정보를 전송하도록 하는 처리부를 포함하는 것을 특징으로 하고, 상기 전자기기는, 상황정보를 저장할 수 있는 저장부; 및 상기 서버로부터 서비스에 관한 정보를 수신하면 해당 서비스를 제공하는 처리부를 포함하고, 상기 해당 서비스를 제공함에 있어서는 상기 저장부에 저장된 상황정보를 바탕으로 서비스의 내용을 결정하여 제공하는 것을 특징으로 한다. One of the systems of the present invention for achieving the above object is an IoT system composed of a server and at least one electronic device, wherein the server includes information on a plurality of tasks provided for each user's behavior, and the at least one a storage unit capable of storing information about a plurality of services that electronic devices can perform; and receiving situation information from the at least one electronic device, determining a task corresponding to a user's action indicated by the received situation information from among the plurality of tasks, and corresponding to the determined task among the at least one electronic device. and a processing unit for transmitting information about the service to a first electronic device capable of providing the service, wherein the electronic device includes: a storage unit capable of storing situation information; and a processor that provides the corresponding service upon receiving information about the service from the server, and in providing the corresponding service, determines and provides the content of the service based on the situation information stored in the storage unit. .
상기 시스템의 서버에 있어서, 상기 태스크에 관한 정보는 태스크 이력 정보를 포함하고, 상기 처리부는, 상기 태스크 이력 정보에 기초하여 상기 상황정보에 대응하는 상기 태스크를 결정하는 것을 특징으로 할 수 있다.In the server of the system, the information about the task may include task history information, and the processing unit may determine the task corresponding to the situation information based on the task history information.
나아가 상기 시스템의 서버에 있어서, 상기 처리부는, 상기 태스크 이력 정보에 기초하여 상기 상황정보에 대응하는 상기 태스크 및 상기 태스크에 대응하는 적어도 하나의 상기 서비스에 관한 정보를 생성하여 상기 저장부에 저장하는 것을 특징으로 할 수 있다.Furthermore, in the server of the system, the processing unit generates information about the task corresponding to the situation information and at least one service corresponding to the task based on the task history information, and stores the information in the storage unit. that can be characterized.
또한 상기 시스템의 서버에 있어서, 상기 처리부는, 상기 제1전자기기 이외의 제2전자기기로부터 수신한 상기 상황정보를 상기 제1전자기기로 전송하는 것을 특징으로 할 수 있다.In the server of the system, the processing unit may transmit the situation information received from a second electronic device other than the first electronic device to the first electronic device.
나아가 상기 시스템의 서버에 있어서, 상기 복수의 태스크는, 장소 별로 더 분류되며, 상기 처리부는, 상기 상황정보가 나타내는 장소에 대응하는 태스크를 결정하는 것을 특징으로 할 수 있다.Furthermore, in the server of the system, the plurality of tasks may be further classified according to places, and the processing unit may determine a task corresponding to a place indicated by the situation information.
상기 목적을 달성하기 위한, 본 발명에 따른 서버의 제어방법의 하나는, 사용자의 행동 별로 마련되는 복수의 태스크에 관한 정보와, 적어도 하나의 전자기기가 수행할 수 있는 복수의 서비스에 관한 정보를 저장하는 단계; 상기 적어도 하나의 전자기기로부터 상황정보를 수신하는 단계; 상기 복수의 태스크 중에서 상기 수신된 상황정보가 나타내는 사용자의 행동에 대응하는 태스크를 결정하는 단계; 및 상기 적어도 하나의 전자기기 중에서 상기 결정된 태스크에 대응하는 상기 서비스를 제공할 수 있는 제1전자기기로 상기 서비스에 관한 정보를 전송하는 단계를 포함할 수 있다.To achieve the above object, one of the server control methods according to the present invention provides information on a plurality of tasks prepared for each user's behavior and information on a plurality of services that at least one electronic device can perform. storing; Receiving context information from the at least one electronic device; determining a task corresponding to a user's behavior indicated by the received situation information from among the plurality of tasks; and transmitting information about the service to a first electronic device capable of providing the service corresponding to the determined task among the at least one electronic device.
상기 목적을 달성하기 위한, 본 발명에 따른 전자기기의 제어방법의 하나는, 상황정보를 저장하는 단계; 서버로부터 서비스에서 관한 정보를 수신하는 단계; 및 상기 저장된 상황정보를 바탕으로 상기 수신한 서비스의 내용을 결정하여 제공하는 단계를 포함할 수 있다.To achieve the above object, one method of controlling an electronic device according to the present invention includes the steps of storing context information; Receiving information about a service from a server; and determining and providing contents of the received service based on the stored context information.
상기한 바와 같이, 본 발명에 의하면, IoT를 구성하는 각 스마트 오브젝트가 자율적인 분산 객체로써 주변 및 사용자의 상황정보를 수집하여 그 의미를 이해하고 이를 바탕으로 사용자에게 개인화된 서비스를 제공할 수 있고, 여러 스마트 오브젝트가 제공하는 서비스의 집합적 개념인 태스크 단위로 서비스를 제공함으로써 여러 스마트 오브젝트들의 협업을 통해 사용자에게 통합적인 서비스를 제공할 수 있으며, 중앙 집중식 IoT 시스템 구조가 갖는 한계를 극복할 수 있다.As described above, according to the present invention, each smart object constituting the IoT is an autonomous distributed object that collects surrounding and user context information, understands its meaning, and provides personalized services to users based on this. , By providing services in task units, which are the collective concept of services provided by multiple smart objects, it is possible to provide integrated services to users through the collaboration of multiple smart objects, and to overcome the limitations of the centralized IoT system structure. there is.
도 1은 본 발명 시스템의 예시도.
도 2는 본 발명 중 서버(101)의 구성을 나타내는 블록도.
도 3은 본 발명 중 전자기기(102, 103, 104)의 구성을 나타내는 블록도.
도 4는 본 발명의 일 실시예에 따른, 온톨로지의 전체적인 설계 구조를 나타내는 도면.
도 5는 본 발명의 일 실시예에 따른, 사물인터넷 구성요소 온톨로지(401)의 세부 설계를 나타내는 도면.
도 6은 본 발명의 일 실시예에 따른, 서비스 기능 온톨로지(404)의 세부 설계를 나타내는 도면.
도 7은 본 발명의 일 실시예에 따른, 상황정보 온톨로지(403)의 세부 설계를 나타내는 도면.
도 8은 본 발명의 일 실시예에 따른, 태스크 온톨로지(402)의 세부 설계를 나타내는 도면.
도 9는 본 발명의 일 실시예에 따른, 사물인터넷 구성 요소 온톨로지(401)의 인스턴스를 생성하는 방법을 나타내는 도면.
도 10은 본 발명의 일 실시예에 따른, 상황정보 온톨로지(403)의 인스턴스 생성 방법 및 스마트 오브젝트 서비스와의 관계 정의 방법을 나타내는 도면.
도 11은 본 발명의 일 실시예에 따른, 스마트 오브젝트 서비스 기능 온톨로지(404)의 인스턴스 생성 방법을 나타내는 도면.
도 12는 본 발명의 일 실시예에 따른, 스마트 오브젝트의 서비스 명세를 생성하여 경량화 서버(101)에 전송하는 방법을 나타내는 도면.
도 13은 본 발명의 일 실시예에 따른, 태스크 온톨로지(402)의 인스턴스 생성 방법을 나타내는 도면.
도 14는 본 발명의 일 실시예에 따른, 사용자의 가변적인 태스크 수행 의도와 관련된 상황정보 인스턴스 작성 방법을 나타내는 도면.
도 15는 본 발명의 일 실시예에 따른 서버(101)의 제어방법을 나타내는 도면.
도 16은 본 발명의 일 실시예에 따른 전자기기(102, 103, 104)의 제어방법을 나타내는 도면.1 is an exemplary view of the system of the present invention;
2 is a block diagram showing the configuration of a
3 is a block diagram showing the configuration of
4 is a diagram showing the overall design structure of an ontology according to an embodiment of the present invention.
5 is a diagram showing a detailed design of an
6 is a diagram illustrating a detailed design of a
7 is a diagram showing a detailed design of a
8 is a diagram illustrating a detailed design of a
9 is a diagram illustrating a method of generating an instance of an
10 is a diagram illustrating a method of creating an instance of a
11 is a diagram illustrating a method of creating an instance of a smart object
12 is a diagram illustrating a method of generating and transmitting a service specification of a smart object to the
13 is a diagram illustrating a method of instantiating a
14 is a diagram illustrating a method of creating context information instances related to a user's variable task performance intention according to an embodiment of the present invention.
15 is a diagram showing a control method of the
16 is a diagram illustrating a control method of
이하에서는 상기의 목적을 구체적으로 실현할 수 있는 본 발명의 실시예를 도면을 참조하여 설명한다. 다만, 본 발명의 기술적 사상과 그 핵심 구성 및 작용이 이하의 실시예에 설명된 구성 또는 작용으로만 한정되지는 않는다. 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다.Hereinafter, embodiments of the present invention that can specifically realize the above object will be described with reference to the drawings. However, the technical idea of the present invention and its core configuration and operation are not limited to the configurations or operations described in the following embodiments. In describing the present invention, if it is determined that a detailed description of a known technology or configuration related to the present invention may unnecessarily obscure the subject matter of the present invention, the detailed description will be omitted.
본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 안되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념을 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다.The terms or words used in this specification and claims should not be construed as being limited to their usual or dictionary meanings, and the inventors can properly define the concept of terms in order to best explain their invention. Based on the principle, it should be interpreted as a meaning and concept consistent with the technical idea of the present invention.
본 발명의 실시예에서, 제1, 제2 등과 같이 서수를 포함하는 용어는 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용되며, 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. In the embodiments of the present invention, terms including ordinal numbers, such as first and second, are used only for the purpose of distinguishing one component from another, and expressions in the singular number are plural unless the context clearly indicates otherwise. contains an expression of
또한, 본 발명의 실시예에서, ‘구성되다’, ‘포함하다’, ‘가지다’ 등의 용어는 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. In addition, in the embodiments of the present invention, terms such as 'comprise', 'include', and 'have' refer to one or more other features, numbers, steps, operations, elements, parts, or combinations thereof. Or it should be understood as not precluding the possibility of addition.
또한, 본 발명의 실시예에서, ‘모듈’ 혹은 ‘부’는 적어도 하나의 기능이나 동작을 수행하며, 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있으며, 적어도 하나의 모듈로 일체화되어 적어도 하나의 프로세서로 구현될 수 있다.In addition, in an embodiment of the present invention, a 'module' or 'unit' performs at least one function or operation, may be implemented as hardware or software, or may be implemented as a combination of hardware and software, and is integrated into at least one module. and can be implemented with at least one processor.
본 발명은 사물인터넷 시스템에 관한 것이다. 사물인터넷은 생활 속 사물들을 유무선 네트워크로 연결해 정보를 공유하는 환경을 말한다. 여기서 사물이란 가전제품, 모바일 장비, 웨어러블 컴퓨터 등 다양한 임베디드 시스템을 포함한다. 사물인터넷은 넓은 의미에서는 유무선 네트워크 장비뿐만 아니라 사물에 해당하는 전자기기 사이의 통합과 운영을 위한 소프트웨어와 서비스 등을 포함한다. 사물인터넷은 기본적으로 네트워크들을 연결하는 게이트웨이, 전화선·전력선·무선 등과 같은 통신망, 정보기기를 제어하며 상호 연동시키는 미들웨어, 네트워킹 기능이 추가된 정보기기 등으로 구성된다.The present invention relates to an IoT system. Internet of Things (IoT) refers to an environment in which objects in daily life are connected through wired and wireless networks to share information. Here, things include various embedded systems such as home appliances, mobile devices, and wearable computers. In a broad sense, IoT includes not only wired and wireless network equipment, but also software and services for integration and operation between electronic devices corresponding to things. The Internet of Things basically consists of a gateway connecting networks, communication networks such as telephone lines, power lines, and wireless, middleware that controls and interoperates information devices, and information devices with added networking functions.
도 1은 본 발명 시스템의 예시도이다. 도 1에 나타난 바와 같이, 본 발명의 시스템은 하나의 서버(101)와 적어도 하나의 스마트 기기(102, 103, 104)(앞서 사용한 '스마트 오브젝트'와 같은 의미이나 서버와의 관계에서는 '스마트 기기' 또는 '전자기기'라고도 한다)로 구성 가능하고, 위와 같은 하나의 서버와 적어도 하나의 스마트 기기를 하나를 '그룹'(100)이라고 할 때, 본 발명의 시스템은 여러 그룹으로도 구성 가능하다. 여기서 서버를 스마트 기기와 개념상 별도로 취급하고 있지만 서버 역시 스마트 기기일 수 있다. 1 is an exemplary diagram of the system of the present invention. As shown in FIG. 1, the system of the present invention includes one
사물인터넷의 구성요소가 될 수 있는 장치라면 무엇이든 본 발명의 서버 또는 스마트 기기에 해당할 수 있다. 즉, 본 발명의 서버 또는 스마트 기기는, IoT(Internet of Things)의 T(Thing)에 해당 가능한 장치라면 무엇이든 가능하다. 예를 들면 환경 센서, 도어 센서 등의 각종 센서, 웹캠, 전력 측정 모듈, 프로젝터, 에어컨, 전등, 로봇 청소기, 제습기, 셋톱박스, 게임기, 스마트 TV, 통합 제어 모듈 등이 있다.Any device that can be a component of the Internet of Things may correspond to the server or smart device of the present invention. That is, the server or smart device of the present invention can be any device that can correspond to T (Thing) of IoT (Internet of Things). For example, there are various sensors such as environmental sensors and door sensors, webcams, power measurement modules, projectors, air conditioners, lights, robot vacuum cleaners, dehumidifiers, set-top boxes, game consoles, smart TVs, and integrated control modules.
'서버'와 그 외의 '스마트 기기'는 기능에 따라 분류 가능하다. Hernandez(2014)(Perez Hernandez, Marco E., and Stephan Reiff-Marganiec. "Classifying Smart Objects using Capabilities." Smart Computing(SMARTCOMP), 2014 International Conference on. IEEE, 2014)는 스마트 기기를 다음의 5개의 단계로 분류했다: 기본적인 ID 정보와 최소한의 커뮤니케이션 능력을 지닌 Essential(Level 1) 단계, 내장 프로그램을 통해 데이터의 처리가 가능해지는 Networked(Level 2) 단계, 상황 정보 이력을 수집하고 룰을 기반으로 서비스를 제공해줄 수 있는 Enhanced(Level 3) 단계, 사용자의 의도 및 목적, 그리고 상황에 대한 보다 심도 있는 분석을 수행할 수 있는 Aware(Level 4) 단계, 그리고 마지막으로 일반 사용자와 같이 스스로 모든 것을 학습하고 다른 IoT 속 사용자 및 사물들과 사회적 관계를 맺어나갈 수 있는 IoT-Complete(Level 5) 단계. 'Server' and other 'smart devices' can be classified according to functions. Hernandez (2014) (Perez Hernandez, Marco E., and Stephan Reiff-Marganiec. "Classifying Smart Objects using Capabilities." Smart Computing (SMARTCOMP), 2014 International Conference on. IEEE, 2014) classifies smart devices into the following five steps: It is classified into: Essential (Level 1) stage with basic ID information and minimum communication ability, Networked (Level 2) stage where data can be processed through built-in programs, context information history is collected and service is provided based on rules. The Enhanced (Level 3) step that can provide information, the Aware (Level 4) step that can perform a more in-depth analysis of the user's intentions and purposes, and the situation, and finally the Aware (Level 4) step that allows you to learn everything on your own like a normal user and learn from others. IoT-Complete (Level 5) stage to establish social relationships with users and objects in IoT.
본 발명은 위 분류 중 Networked(Level 2), Enhanced(Level 3), 그리고 Aware(Level 4) 단계의 스마트 기기를 대상으로 한다. '서버'는 Aware(Level 4) 단계의 스마트 기기를 말하고, 그 외의 '스마트 기기'는 Networked(Level 2) 또는 Enhanced(Level 3) 단계에 해당한다. 이처럼 본 발명의 스마트 기기는 기본적으로 Networked(Level 2) 단계 이상이므로, 독립적으로 상황정보를 생성하여 전송할 수 있고 사용자에게 일정한 서비스를 제공할 수 있다. Enhanced(Level 3) 단계의 스마트 기기의 경우는 여기서 더 나아가 사용자와의 상호작용 이력을 분석하여 사용자에게 특화된 개인화된 서비스를 제공하는 것도 가능하다. The present invention targets smart devices of the Networked (Level 2), Enhanced (Level 3), and Aware (Level 4) stages among the above classifications. A 'server' refers to a smart device at the Aware (Level 4) level, and other 'smart devices' correspond to the Networked (Level 2) or Enhanced (Level 3) level. As such, since the smart device of the present invention is basically Networked (Level 2) or higher, it can independently generate and transmit contextual information and provide certain services to users. In the case of a smart device at the Enhanced (Level 3) stage, it is possible to further analyze the history of interaction with the user and provide a personalized service specialized to the user.
한편, 서버는 Aware(Level 4) 단계의 기기로서 상황정보를 바탕으로 사용자가 수행하고자 하는 태스크가 무엇인지를 추론하고 그 추론된 태스크를 수행하기 위해 서비스를 제공해야 하는 스마트 기기들을 파악하여, 그 스마트 기기들 간의 협업을 구성해주는 역할을 한다.On the other hand, the server, as a device at the Aware (Level 4) stage, infers what task the user wants to perform based on contextual information, identifies smart devices that need to provide services to perform the inferred task, and It plays a role in organizing collaboration between smart devices.
도 2는 본 발명 중 서버(101)의 구성을 나타내는 블록도이다. 서버(101)는 통신부(201), 저장부(202), 처리부(203)로 구성된다.2 is a block diagram showing the configuration of a
통신부(201)는 스마트 기기(102, 103, 104)와의 통신을 수행한다. 구체적으로, 통신부(201)는 적어도 하나의 스마트 기기와 통신하며 그 스마트 기기에 관한 정보 및 상황정보를 수신하고, 처리부(203)의 처리 결과에 따라 상기 적어도 하나의 스마트 기기 중 적어도 하나에 서비스 제공 요청을 송신한다. The
여기서 '상황정보'란 사용자와 다른 사용자, 시스템, 혹은 디바이스의 어플리케이션 간 상호 작용에 영향을 미치는 사람, 장소, 사물, 개체, 시간 등 상황(situation)의 특징을 규정하는 정보를 통칭한다. 예를 들면 네트워크 연결 상태, 통신 대역폭, 그리고 프린터·디스플레이·워크스테이션과 같은 컴퓨팅 상황(Computing context), 사용자의 프로파일·위치·주변의 사람들을 비롯한 사용자 상황(User context), 조명·소음 레벨·교통 상태·온도 등 물리적 상황(Physical context), 시간·주·달·계절 등 시간적 상황(Time context) 등이 있다.Here, 'situational information' collectively refers to information defining characteristics of a situation, such as a person, place, thing, object, time, etc., that affect interactions between a user and other users, systems, or device applications. For example, network connection status, communication bandwidth, and computing context such as printers, displays, and workstations, user context including user profile, location, and people around them, lighting, noise level, and traffic. There are physical contexts such as state and temperature, and time contexts such as time, week, month, and season.
통신부(201)는 상기 스마트 기기(102, 103, 104)와 유선 또는 무선 네트워크를 통해 통신을 수행할 수 있고, 이에 따라 넓은 의미의 WLAN(Wireless Local Area Network)를 위한 통신 프로토콜을 포함할 수 있다. 또한, 블루투스, Wi-Fi, 지그비(Zigbee), IR통신, RF 통신 등 그 밖의 다양한 통신방법에 대응하는 통신 모듈을 포함할 수 있다.The
본 발명의 사물인터넷 시스템이 홈 네트워크로 사용될 경우, 상기 통신 모듈은 다양한 홈 네트워크 통신 규격에 따른 통신을 수행할 수 있다. 예를 들어, DLNA(Digital Living Network Alliance)와 같은 홈 네트워크 통신규격에 따른 통신을 수행할 수 있다. 상기 DLNA는 가정의 컴퓨터, 가전제품, 휴대용 단말기 등의 전자기기에 저장되어 있는 음악, 사진, 비디오 같은 디지털 컨텐츠를 공유할 수 있는 유무선 네트워크를 의미한다.When the IoT system of the present invention is used as a home network, the communication module can perform communication according to various home network communication standards. For example, communication may be performed according to a home network communication standard such as DLNA (Digital Living Network Alliance). The DLNA refers to a wired/wireless network capable of sharing digital contents such as music, photos, and videos stored in electronic devices such as home computers, home appliances, and portable terminals.
저장부(202)는 사용자의 행동 별로 마련되는 복수의 태스크와, 상기 적어도 하나의 스마트 기기가 수행할 수 있는 복수의 서비스에 관한 정보를 저장한다. 서버(101)가 특정 장소를 관할하는 경우를 예를 들면, 서버(101)의 저장부(202)에는 그 장소와 관련된 상황정보, 그 장소에 존재하는 스마트 기기에 관한 정보, 그 장소에서 사용자가 수행할 수 있는 태스크 정보 및 각 태스크 수행시 서비스를 제공해야 할 스마트 기기에 관한 정보 등이 저장된다. 나아가 저장부(202)는 사용자의 태스크 이력 정보를 저장할 수도 있다. The
저장부(202)의 구체적인 형태는 HDD(Hard Disk Drive), SSD(Solid State Drive), 플래시메모리(Flash Memory) 등 정보를 저장하는 기능을 수행할 수 있는 것이라면 무엇이든 가능하고, RAM(Random Access Memory)과 같은 휘발성 메모리를 배제하지 않는다.The specific form of the
처리부(203)는 상기 통신부(201)를 통하여 상기 적어도 하나의 스마트 기기(102, 103, 104)로부터 상황정보를 수신하고, 상기 복수의 태스크 중에서 상기 수신된 상황정보가 나타내는 사용자의 행동에 대응하는 태스크를 결정하고, 상기 적어도 하나의 스마트 기기(102, 103, 104) 중에서 상기 결정된 태스크에 대응하는 상기 서비스를 제공할 수 있는 제1전자기기로 상기 서비스에 관한 정보를 전송하도록 한다. 이러한 정보 처리 기능을 수행할 수 있다면 CPU(Central Processing Unit), AP(Application Processor) 등의 형태를 불문하고 모두 가능하다.The
처리부(203)는 상기 제1전자기기 이외의 제2전자기기로부터 수신한 상기 상황정보를 상기 제1전자기기로 전송하는 것도 가능하다. 이처럼 하나의 스마트 기기가 자신이 직접 생성·수집한 상황정보뿐만 아니라 다른 스마트 기기가 생성·수집한 상황정보를 추가로 제공받아 개인화 서비스 제공에 활용한다면 더욱 지능화된 개인화 서비스를 제공할 수 있다.The
도 3는 본 발명 중 전자기기(300)(102, 103, 104)(이하 '스마트 기기'라고도 한다)의 구성을 나타내는 블록도이다. 전자기기(102, 103, 104) 역시도 통신부(301), 저장부(302), 처리부(303)로 구성된다는 점에서 서버(101)와 기본적인 구성은 동일하다. Figure 3 is a block diagram showing the configuration of the electronic device 300 (102, 103, 104) (hereinafter referred to as 'smart device') of the present invention. The
통신부(301)는 적어도 하나의 서버(101)와 통신하며 상기 전자기기(102, 103, 104)에 관한 정보 및 상황정보를 송신하고 상기 적어도 하나의 서버(101)로부터 서비스 제공 요청을 수신한다. 서버(101)의 경우와 마찬가지로, 이러한 통신 기능을 수행할 수 있다면 무엇이든 통신부가 될 수 있고, 통신 방법으로는 IoT라는 특성상 무선 통신 방법이 주로 사용될 것이나, 유선 통신이 사용될 가능성을 배제하는 것은 아니다.The
저장부(302)는 상황정보, 상기 전자기기(102, 103, 104)가 제공하는 적어도 하나의 서비스에 관한 정보를 저장한다. 나아가 저장부(302)는 사용자와의 상호작용 이력 정보도 저장할 수 있다. 서버(101)에서 언급한 것과 마찬가지로, 저장부(202)의 구체적인 형태는 HDD, SSD, Flash Disk 등 정보를 저장하는 기능을 수행할 수 있는 것이라면 무엇이든 가능하고 RAM과 같은 휘발성 메모리를 배제하지 않는다.The
처리부(303)는 서버(101)로부터 서비스에 관한 정보를 수신하면 해당 서비스를 제공한다. 여기서 상기 결정된 서비스를 제공함에 있어서는 상기 저장부(302)에 저장된 상황정보를 바탕으로 사용자에게 개인화된 서비스를 제공한다. 나아가 처리부(303)는 사용자와의 상호작용 이력 정보를 더 참고하여 사용자에게 개인화된 서비스를 제공할 수도 있다. 서버(101)의 경우에서 언급했듯이, 정보 처리 기능을 수행할 수 있다면 CPU(Central Processing Unit), AP(Application Processor) 등의 형태를 불문하고 모두 가능하다.When receiving information about a service from the
서버(101)의 처리부(203)가 제1전자기기 이외에 제2전자기기로부터 수신한 상황정보를 제1전자기기로 전송하는 것이 가능하듯이, 전자기기(102, 103, 104)의 처리부(303) 역시도 상기 제1전자기기 이외의 제2전자기기로부터 서버(101)가 수신한 상황정보를 수신하는 것도 가능하다. 그 효과는, 서버(101)의 경우와 마찬가지로, 하나의 스마트 기기인 제1전자기기가 직접 수집한 상황정보뿐만 아니라 다른 스마트 기기인 제2전자기기가 생성한 상황정보를 추가로 제공받아 개인화 서비스 제공에 활용할 수 있게 됨에 따라 더욱 지능화된 개인화 서비스를 제공할 수 있다Just as it is possible for the
위와 같은 서버(101)와 스마트 기기(102, 103, 104)의 구성 및 동작을 통해 알 수 있듯이, 본 발명의 사물인터넷 시스템 내의 각 스마트 기기들(102, 103, 104)은 사용자에게 개인화된 서비스를 제공하기 위한 자율적인 학습 및 판단 능력을 갖고 있다는 점에서, 지능을 요구하는 대부분의 작업을 서버에 맡기고 각 스마트 기기는 단순히 환경 정보의 센싱 혹은 단방향적인 서비스의 제공 기능만을 수행하는 종래의 기술과는 다르다. 또한 서버(101)는 여러 스마트 기기(102, 103, 104)가 제공하는 서비스의 집합적 개념인 태스크에 관한 정보와 각 스마트 기기(102, 103, 104)가 제공하는 서비스에 관한 정보를 갖고 있어서, 특정 태스크를 수행하는데 필요한 서비스를 제공하는 스마트 기기(102, 103, 104)를 판단할 수 있다. 또한, 서버(101)는 상황정보도 저장하고 있어서 상황정보와 수행된 태스크의 연관 관계 판단을 통해 특정 상황에서 사용자가 수행하려는 태스크를 추론하는 것도 가능하다. 나아가 위와 같은 서버(101)와 스마트 기기들(102, 103, 104)의 그룹(100)은 반드시 하나일 필요는 없고 복수의 그룹이 하나의 시스템을 이루는 형태도 가능하다. 이 경우 복수의 서버(101)가 존재하게 되므로 단일 서버에 모든 지능적 처리가 집중됨에 따라 발생하는 성능 저하와 단일 고장점 문제를 해결하는 효과도 있다.As can be seen through the configuration and operation of the
<본 발명의 일 <Work of the present invention 실시예에in the examples 따른, 온톨로지 설계 구조> According to the ontology design structure>
이하에서는 본 발명의 일 실시예로서, 본 발명의 사물인터넷 시스템의 작동 기반이 되는 온톨로지 설계의 한 예를 제시하고, 그 온톨로지 구조 위에서 본 발명이 작동하는 과정을 구체적으로 설명한다. 이하의 실시예는 설명의 편의를 위하여 하나의 서버(101)가 한 '장소'에 위치한 스마트 기기들(102, 103, 104)을 관할하는 상황을 가정하였으나, 하나의 서버(101)가 관할하는 스마트 기기들(102, 103, 104)의 범위가 물리적인 '장소'로 한정될 필요는 없다.Hereinafter, as an embodiment of the present invention, an example of ontology design, which is the basis for the operation of the IoT system of the present invention, is presented, and the process of operating the present invention on the ontology structure will be described in detail. The following embodiment assumes a situation in which one
온톨로지의 설계는 전체 시스템의 구조와 밀접한 관계가 있다. 앞서 본 바와 같이 본 발명의 시스템은 단일 서버 기반 서비스 제공 구조가 가지는 단일 고장점 문제(Single point failure) 및 서버 성능 저하 등의 이슈를 완화하기 위해 분산 시스템 구조를 대상으로 한다. 이 시스템 구조에서는 지식의 저장 및 상황 정보 기반 추론 기능의 일부를 각 스마트 기기(102, 103, 104)로 분산시킴으로써 서버(101)를 경량화한다. 판단 능력의 분산은 서버(101)뿐만 아니라 각 스마트 기기(102, 103, 104)로 하여금 판단의 근거가 되는 지식을 갖추고 있을 것을 요구한다.The design of the ontology is closely related to the structure of the entire system. As described above, the system of the present invention targets a distributed system structure in order to mitigate issues such as single point failure and server performance degradation that the single server-based service provision structure has. In this system structure, the
이러한 분산 시스템 구조를 대상으로 하는, 본 발명의 일 실시예에 따른 사물인터넷 시스템의 기반이 되는 온톨로지는 사물인터넷 구성요소 온톨로지(401), 태스크 온톨로지(402), 상황정보 온톨로지(403) 및 서비스 기능 온톨로지(404)를 포함한다. 이들 온톨로지는 사물인터넷 환경 속 스마트 오브젝트(이하에서는 온톨로지에서의 상기 '서버' 및 '스마트 기기'를 통칭하여 '스마트 오브젝트'라고도 한다) 및 서비스, 사용자, 그리고 사용자의 주변 상황 정보와 관련한 주요 개념 및 그 사이의 관계를 정의함으로써 본 실시예의 사물인터넷 시스템의 기본 골격을 제공한다. 각 온톨로지의 역할은 다음과 같다.The ontology that is the basis of the IoT system according to an embodiment of the present invention targeting such a distributed system structure is an
1. 사물 인터넷 구성요소 온톨로지(IoT Element Ontology)(401): 사물 인터넷 구성 요소인 스마트 오브젝트가 어떤 형태로 시스템에 포함되어 있는지를 표현한다.1. IoT Element Ontology (401): Expresses the form in which smart objects, which are components of the Internet of Things, are included in the system.
2. 태스크 온톨로지(Task Ontology)(402): 사용자의 의도 형성에 영향을 미치는 요소 및 태스크 별 관련 스마트 오브젝트 서비스에 대한 정보를 정의한다. 2. Task Ontology (402): Defines factors affecting the formation of user's intention and information on related smart object services for each task.
3. 상황정보 온톨로지(Context Ontology)(403): 각 스마트 오브젝트로부터 생성 및 공유되는 상황정보의 체계 및 특성을 표현한다.3. Context Ontology (403): Expresses the system and characteristics of context information generated and shared from each smart object.
4. 서비스 기능 온톨로지(Service Functionality Ontology)(404): 각 서비스가 어떤 기능을 어떻게 제공하는지에 대한 정보를 표현한다.4. Service Functionality Ontology 404: Expresses information about what function each service provides and how.
위 네 가지 온톨로지 사이의 관계 및 각 온톨로지 내 구성요소들 사이의 관계를 포함한 온톨로지의 전체적인 설계 구조는 도 4에 나타나 있다. 각 온톨로지의 세부 구조는 도 5 내지 도 8에 나타나 있다. The overall design structure of the ontology including the relationship between the above four ontologies and the components within each ontology is shown in FIG. 4 . The detailed structure of each ontology is shown in FIGS. 5 to 8.
온톨로지의 세부 구조는 이하에서 각 온톨로지의 구체적인 인스턴스를 생성하는 과정과 함께 설명하기로 한다.The detailed structure of the ontology will be described below along with the process of creating specific instances of each ontology.
1.One. 사물 인터넷 구성요소 온톨로지(401)Internet of Things Component Ontology (401)
스마트 오브젝트의 역할이 '서버(101)'{이하에서는 본 발명의 서버가 일반 서버에 비해 처리 부담이 경량화 되었다는 점에서 '경량화 서버'라고도 하고, 특정 장소를 관할하는 스마트 오브젝트일 수 있다는 점에서 'VPO'(Virtual Place Object)라고도 한다}이든 일반 '스마트 오브젝트'(102, 103, 104)이든, 모든 스마트 오브젝트는 사물인터넷 시스템의 구성 요소로써 시스템 내에서의 Identity를 가진다. 각 스마트 오브젝트 서비스의 개발자는 본인이 개발하는 서비스의 Identity를 사물 인터넷 구성요소 온톨로지(401)에 따라 명시해주어야 한다. 도 9는 그 방법을 나타내는 도면이다. The role of the smart object is 'server 101' {hereinafter, the server of the present invention is also referred to as a 'lightweight server' in that the processing burden is lighter than that of a general server, and it can be a smart object in charge of a specific place. Whether it is also called 'VPO' (Virtual Place Object)} or general 'smart objects' (102, 103, 104), all smart objects have an identity within the system as a component of the IoT system. The developer of each smart object service must specify the identity of the service he/she develops according to the
(1) 스마트 오브젝트는 독립적으로 상황정보를 생성·수집하거나 사용자에게 서비스를 제공해주는 Smart Object(502)와, 각 장소 별로 생성되는 상황정보를 수집하고 Smart Object(502) 간의 협업을 구성해주는 경량화 서버(101)인 VPO(503)로 구성 된다. 따라서 온톨로지의 작성에 앞서 스마트 오브젝트 서비스의 개발자는 본인이 개발하고자 하는 스마트 오브젝트의 역할이 무엇인지 결정해야 한다[도 9 ①].(1) The smart object is a smart object (502) that independently creates and collects contextual information or provides services to users, and a lightweight server that collects contextual information generated for each location and organizes collaboration between the smart objects (502). (101) is composed of VPO (503). Therefore, prior to the creation of the ontology, the developer of the smart object service must determine the role of the smart object to be developed [Fig. 9 ①].
(2) 해당 스마트 오브젝트가 경량화 서버(101)인 경우, 스마트 오브젝트에 대응하는 구성요소인 IoT_Element(501)의 타입을 VPO(503)로 설정한다[도 9 ②].(2) When the corresponding smart object is the
(3) 해당 스마트 오브젝트가 일반 스마트 오브젝트(102, 103, 104)인 경우, 개발자는 IoT_Element(501)의 타입을 SmartObject(502)로 설정한다[도 9 ③].(3) If the corresponding smart object is a general smart object (102, 103, 104), the developer sets the type of IoT_Element (501) to SmartObject (502) [Fig. 9 ③].
(4) 각 IoT_Element(501)는 서비스를 제공해주는 가상 객체 단위인 Agent(504)로 시스템에 공개가 되는데, 그 명칭을 정의하기 위해 에이전트 인스턴스(504)를 생성한다(예: SmartFridgeAgent, VPOAgent)[도 9 ④].(4) Each
(5) IoT_Element(501)와 앞서 생성된 에이전트 인스턴스(504)를 exposedAs 관계(505)를 통해 연결한다(예: SmartFridge-exposedAs-SmartFridgeAgent)[도 9 ⑤].(5) The
(6) 각 Agent(504)는 하나 이상의 Service(506)를 제공 할 수 있다. 예를 들어, 스마트 냉장고는 스마트 쿨링 및 요리 메뉴 추천 서비스를 제공할 수 있다. 이렇게 해당 스마트 오브젝트가 제공하는 서비스를 서비스 온톨로지 인스턴스(506)로 생성한다[도 9 ⑥].(6) Each
(7) 에이전트 인스턴스(504)와 그 에이전트가 제공하는 서비스 인스턴스(506)들을 providesService 관계(507)를 통해 연결한다(예: SmartFridgeAgent-providesService-SmartCooling)[도 9 ⑦].(7) An
위와 같은 과정을 통해 특정 스마트 오브젝트의 역할이 경량화 서버(101)인지 아니면 일반 스마트 오브젝트(102, 103, 104)인지, 그 스마트 오브젝트가 제공하는 기능이 무엇인지 등에 관한 정보를 온톨로지상에 정의함에 따라, 다른 스마트 오브젝트들이 그 스마트 오브젝트의 역할과 제공 서비스를 이해하고 이를 활용할 수 있게 된다.Through the above process, information about whether the role of a specific smart object is the
2.2. 상황정보 온톨로지(403)Context information ontology (403)
상황정보 온톨로지(403)는 각 서비스가 생성 또는 수집하는 상황정보에 대한 체계를 정립하는 온톨로지이다. 가장 상위 개념은 Context(701)로, 여기에는 사용자가 인지하는 SocialContext(702), 온도, 습도, 조도와 같은 EnvironmentalContext(703), 날짜 등을 표현하는 TemporalContext(704), 그리고 현재 서비스의 상태를 표현하는 Status(705) 등의 하위 Context들이 임의로 정의될 수 있다. The
스마트 오브젝트(102, 103, 104)는 수행하는 작업의 특성에 따라, 단순히 상황 정보의 생성만을 수행하는 경우와, 생성되는 상황정보를 수집하여 이를 해석하거나 그 상황정보를 기반으로 스마트 서비스를 제공해주는 경우로 구분될 수 있다. 온도, 습도, 조도 센서 등이 전자의 예이고, 현재 공간의 사용자 재실 상태를 기반으로 빛의 밝기를 조절해주는 스마트 전등 등이 후자의 예이다. 도 10은 이러한 스마트 오브젝트(102, 103, 104)가 생성 또는 수집하는 상황정보를 온톨로지로 작성하는 절차를 나타내는 도면이다.The
(1) 본 스마트 오브젝트(102, 103, 104)가 상황정보를 '생성'하는 역할을 수행하는 경우, 생성하는 상황정보의 타입(또는 클래스)(702, 703, 704)가 온톨로지 상에 정의되어 있는지 확인한다[도 10 ①, ②].(1) When this smart object (102, 103, 104) plays a role of 'creating' context information, the type (or class) (702, 703, 704) of context information to be created is defined on the ontology Check if it exists [Fig. 10 ①, ②].
(2) 생성하는 상황정보의 타입(702, 703, 704)이 온톨로지에 정의되어 있지 않을 경우, 해당 타입을 Context(701)의 하위 클래스로 상황정보 온톨로지(403)에 생성한다[도 10 ③].(2) If the types of context information (702, 703, 704) to be created are not defined in the ontology, the corresponding type is created in the context information ontology (403) as a subclass of Context (701) [Fig. 10 ③] .
(3) 상황정보를 생성하는 스마트 오브젝트들(102, 103, 104)은 본인이 생성하는 상황 정보를 상황정보의 타입(702, 703, 704)과 함께 온톨로지 인스턴스(701)로 생성한다(예: Temperature-type-EnvironmentalContext)[도 10 ④].(3) The
(4) 본 스마트 오브젝트가 제공하는 서비스(506)와 그 스마트 오브젝트가 생성하는 상황 정보(701)를 updates 관계(706)를 통해 연결 함으로써 다른 서비스 개발자들이 이 정보를 활용하여 새로운 서비스 룰을 작성할 수 있도록 해준다. 예를 들어, TemperatureReportingService-updates-Temperature의 관계가 공유 될 경우, 온도 정보를 활용할 수 있다는 정보가 공개되었기 때문에 다른 서비스 개발자들은 현재 공간의 온도 값에 기반 하여 에어컨 난방 온도를 자동으로 조절해주는 서비스 룰을 작성할 수 있다[도 10 ⑤].(4) By connecting the
(5) 다음으로, 본 스마트 오브젝트 서비스(506)가 다른 상황 정보를 '수집'하는 경우, 수집하여 활용하고자 하는 상황 정보의 타입(또는 클래스)(702, 703, 704)가 상황정보 온톨로지(403) 상에 정의되어 있는지 확인한다[도 10 ⑥, ⑦].(5) Next, when this smart object service 506 'collects' other contextual information, the type (or class) of the contextual information to be collected and utilized (702, 703, 704) is the contextual information ontology 403 ) is defined on [Fig. 10 ⑥, ⑦].
(6) 만약 수집하는 상황 정보의 타입(702, 703, 704)이 상황정보 온톨로지(403)에 정의되어 있지 않을 경우, 해당 타입을 Context 클래스의 하부 클래스로써 온톨로지에 생성한다[도 10 ⑧].(6) If the type of context information to be collected (702, 703, 704) is not defined in the
(7) 상황정보를 수집하는 스마트 오브젝트들(102, 103, 104)은 본인이 수집하고자 하는 상황정보를 상황정보의 타입(702, 703, 704)과 함께 상황정보 온톨로지 인스턴스(701)로 생성해야 한다 (예: Temperature-type-EnvironmentalContext)[도 10 ⑨].(7) The
(8) 스마트 오브젝트의 서비스(506)와 그 서비스가 수집하는 상황 정보(701)를 hasInterest 관계(707)를 통해 연결함으로써 현재 공간에서 공유되는 해당 정보를 받아볼 수 있게 명시해준다. 예를 들어, 앞서 [도 10 ⑤]에서 예시한 자동 난방 온도 조절 서비스의 경우, AutoAirconTempControlService-hasInterest-Temperature 의 관계를 설정함으로써 현재 공간에서 온도 값이 갱신될 때마다 그 값을 받아서 활용할 수 있다[도 10 ⑩].(8) By connecting the
상황정보를 표현하는 구체적인 자료구조와 관련하여, 상황 정보는 트리플이라는 자료구조를 기반으로 표현될 수 있다. 각 트리플은 Subject(주어), Predicate(술어), 그리고 Object(목적어)로 구성된다. 여기서 주어는 해당 상황의 주체이거나 상황정보의 생성자, 혹은 목적어를 값으로 갖는 변수 등을 나타낸다. 술어는 주어와 목적어와의 관계를 정의해줌으로써 상황정보의 의미를 표현해주고, 목적어는 주어가 조작하는 대상 또는 주어의 상태 변화 등을 표현한다. 예를 들어, 사용자 A가 스마트 오브젝트 B를 조작하고 있는 경우 그에 해당하는 상황정보의 트리플은 <Subject: User_A, Predicate: operates, Object: SmartObject_B>로 나타낼 수 있다. 다른 예로, 현재 공간의 온도를 나타내는 경우 <Subject: Place_C, Predicate: hasTemperature, Object: 24>의 트리플이 활용될 수 있다.Regarding a specific data structure representing context information, context information can be expressed based on a data structure called triple. Each triple consists of Subject, Predicate, and Object. Here, the subject represents the subject of the corresponding situation, the generator of situation information, or a variable having an object as a value. The predicate expresses the meaning of situational information by defining the relationship between the subject and the object, and the object expresses the object manipulated by the subject or the change in the state of the subject. For example, when user A is manipulating smart object B, a triple of context information corresponding thereto can be expressed as <Subject: User_A, Predicate: operates, Object: SmartObject_B>. As another example, when indicating the temperature of the current space, a triple of <Subject: Place_C, Predicate: hasTemperature, Object: 24> may be used.
3.3. 서비스 기능 온톨로지(404) Service function ontology (404)
관련 상황정보의 온톨로지 인스턴스(701)를 생성한 후에는, 스마트 오브젝트 서비스의 해당 기능에 대한 명세(Specification)로서, 서비스 기능 온톨로지(404)의 인스턴스를 작성해주어야 한다. 다른 서비스 개발자들은 이러한 정보를 참고하여 현재 공간에서 어떤 서비스 기능이 제공되고 있음을 파악하고 이를 본인의 서비스 개발 과정에 참고할 수 있다. After creating the
서비스 기능 온톨로지(404)의 작성 방법은 도 11에 나타나 있다. 서비스 기능 온톨로지(404) 작성의 주체도, 앞서 도 9, 도 10과 마찬가지로, 그 행동의 주체에 관한 특별한 언급이 없는 한, 해당 스마트 오브젝트 서비스의 개발자이다.A method of creating a
(1) 본 스마트 오브젝트 서비스(506)가 사용자가 인지하는 레벨(예: 불 켜기, 창문 열기, 에어컨 켜기 등)의 기능(Function)(601)을 하나 이상 제공하는 경우, 이에 대한 명세를 서비스 기능 온톨로지 인스턴스(601) 형태로 작성한다[도 11 ①].(1) If this
(2) 서비스 기능 명세를 위해, 서비스(506)가 제공하는 기능을 온톨로지 인스턴스(601)로 생성한 후 Service(506)-providesFunctionality(602)-Functionality(601)의 관계를 설정한다(예: RoomCoolingService-providesFunction-TurnOnAircon)[도 11 ②].(2) For specification of service functions, after generating the functions provided by the
(3) 서비스(506)가 제공하는 기능(601)은 프로그램 상의 메소드(603)의 형태로 구현되는데, 이러한 기능 인스턴스(601)와 메소드 인스턴스(603)를 hasMethod 관계(604)로 연결한다. hasMethod 관계(604)의 정의는 차후 Method Reflection의 용도로 활용될 수 있다. 예를 들어, 에어컨 서비스 내에 turnOn이라는 메소드(603)가 구현되어 있고 RoomCooling(601)-hasMethod(604)-turnOn(603) 이라는 관계가 정의되어 있는 경우, 사용자가 방의 기온을 낮추는 RoomCooling 기능(601)의 수행을 요청하면, 이는 에어컨의 turnOn이라는 메소드(603)로 연결되어 turnOn 메소드(603)를 자동으로 실행할 수 있다[도 11 ③].(3) The
(4) 서비스 기능의 수행 방법은 옵션 (FunctionalityOption)(605)에 따라 다양할 수 있다(예: 조명을 밝게 비출 수도 있고 어둡게 비출 수도 있다). 따라서 각 서비스 기능(601)이 이러한 옵션(605)을 가질 수 있는지 또한 작성한다[도 11 ④].(4) The method of performing the service function may vary according to the option (FunctionalityOption) 605 (eg, lighting may be brightly lit or dimly lit). Therefore, it is also written whether each
(5) 특정 기능(601)이 상이한 옵션(605)에 따라 다양하게 실행 가능한 경우, 해당 옵션을 온톨로지 인스턴스(605)로 생성한 후, Functionality(601)-hasOption(606)-FunctionalityOption(605)의 관계를 설정한다(예: RoomCooling-hasOption-StrongCooling, RoomCooling-hasOption-WeakCooling)[도 11 ⑤].(5) If a specific function (601) can be executed in various ways according to different options (605), the option is created as an ontology instance (605), and Functionality (601)-hasOption (606)-FunctionalityOption (605) Set the relationship (eg RoomCooling-hasOption-StrongCooling, RoomCooling-hasOption-WeakCooling) [Fig. 11 ⑤].
(6) 서비스 기능(601)에 대해 다양한 옵션(605)이 존재하는 경우, 각 옵션(605)이 어떤 형태로 주어져야 하는지에 대한 명세도 온톨로지로 작성되어야 한다(607). 예를 들어, 위의 StrongCooling의 경우 입력 값이 1, 2, 3과 같은 숫자 타입인지 아니면 “strong/medium/low”와 같은 문자열(string) 타입인지 등을 정의해야 한다(607). 이렇게 작성된 명세는 사용자가 해당 기능의 수행을 요청할 때 그 기능을 수행하는 스마트 오브젝트가 참고할 수 있다[도 11 ⑥].(6) If
(7) 다음으로, 이러한 기능의 수행이 특정 상황정보를 변경 해주는지 여부를 명시한다[도 11 ⑦].(7) Next, it is specified whether the performance of these functions changes specific context information [Fig. 11 ⑦].
(8) 변경할 경우, 어떤 상황정보를 업데이트 하는지를 Functionality(601)-updates(608)-Context(701)의 관계로 연결하여 표시한다[도 11 ⑧].(8) In case of change, which situation information is updated is displayed by connecting it in the relationship of Functionality (601) - updates (608) - Context (701) [Fig. 11 ⑧].
4.4. 태스크 온톨로지(402): 태스크 수행을 위한 스마트 Task Ontology 402: smart for task performance 오브젝트들의of objects 협업 기반 정보 작성 방법 Collaborative information creation methods
다음으로, 사용자의 태스크 수행 의도를 추론하고 그에 따라 결정된 태스크를 수행하는데 필요한 스마트 오브젝트들의 정보, 즉 태스크 수행을 위한 협업 관련 정보를 담고 있는 태스크 인스턴스(801)를 작성하는 방법을 설명한다.Next, a method of inferring the user's intention to perform the task and creating a
경량화 서버(101) 개발자는 어떤 상황에서 사용자가 어떤 태스크를 수행하고자 하며, 또 각 태스크는 어떤 스마트 오브젝트의 기능으로 지원될 수 있는지에 대한 정보를 경량화 서버(101)의 지식 기반으로써 구축해 주어야 한다. 이는 도 8에 나타난 태스크 온톨로지(402)의 구조 및 그 외 관련된 온톨로지 개념들을 기반으로 구축할 수 있고, 도 13은 그 구축 방법을 나타내는 도면이다. 이하, 도 13을 이용하여 그 방법을 설명하면 다음과 같다.The developer of the
(1) 관련 지식을 작성하고자 하는 사용자 태스크를 인지하고 그를 Task 타입의 온톨로지 인스턴스(801)로 생성한다(예: Meeting-type-Task)[도 13 ①].(1) Recognizes a user task to create related knowledge and creates it as a Task type ontology instance 801 (eg Meeting-type-Task) [Fig. 13 ①].
(2) 각 태스크 별로 그를 구성하는 단위인 사용자 액티비티(Activity)(802)를 온톨로지 인스턴스(802)로 생성한다(예: Cleaning-type-Activity, DisplayingSlide-type-Activity, etc.)[도 13 ②].(2) For each task, a user activity (Activity) 802, which is a unit constituting the task, is created as an ontology instance 802 (eg, Cleaning-type-Activity, DisplayingSlide-type-Activity, etc.) [Fig. 13 ② ].
(3) 생성된 태스크(801)와 사용자 액티비티 온톨로지 인스턴스(802)를 composedOf 관계(803)로 연결하여 각 태스크 수행을 위해 사용자가 어떤 액티비티를 수행하는지 또는 수행 해야하는지를 정의해준다(예: Task-composedOf-Cleaning, Task-composedOf-DisplayingSlide)[도 13 ③].(3) The created
(4) 각 사용자 액티비티(802) 별로 어떤 스마트 오브젝트 서비스(506)의 기능(601)이 그를 지원해줄 수 있는지 파악한다[도 13 ④]. 여기서 '기능(601)'과 '사용자 액티비티(802)'의 개념을 비교하면, '기능(601)'이란 전원 on, off와 같이 각 스마트 오브젝트에서 일어나는 개별적 작동을 말하고, '사용자 액티비티(802)'란 불 켜기, 창문 열기, 에어컨 켜기 등과 같이 스마트 오브젝트의 위 '기능'을 사용자의 관점에서 바라본 개념이다.(4) For each
(5) 사용자 액티비티(802)와 파악된 서비스 기능(601)들을 supportedBy 관계(804)로 연결함으로써 Task(801)-composedOf(803)-Activity(802), Activity(802)-supportedBy(804)-Functionality(601), Service(506)-providesFunctionality(602)-Functionality(601)의 연쇄적 연결고리를 완성한다[도 13 ⑤]. (5) Task(801)-composedOf(803)-Activity(802), Activity(802)-supportedBy(804)- Functionality(601), Service(506)-providesFunctionality(602)-Functionality(601) chain connection is completed [Fig. 13 ⑤].
이처럼 태스크 온톨로지 인스턴스(801)는 하나의 태스크가 어떠한 액티비티(802) 또는 기능(506)의 조합으로 구성되는지, 그러한 기능(506)을 지원하는 스마트 오브젝트(501)(혹은 서비스(506))는 어떤 것이 있는지 등의 관계적 특성에 관한 정보를 연결고리 형태로 저장한다. 이러한 연결고리를 따라감으로써 서버(101)는 각 태스크가 어떤 스마트 오브젝트 서비스로 구성되는지에 대한 논리적인 추론을 수행할 수 있고, 추론의 결과를 실제 태스크 수행을 위한 스마트 오브젝트 간 협업으로 이끌어낼 수 있다. 즉, 사용자에 의해 또는 상황정보에 기초한 서버(101) 자체의 판단에 의해 특정 태스크의 수행 명령이 내려지면, 서버(101)는 위와 같은 연결고리를 살펴보고 어떠한 액티비티(802)를 수행해야 하는지, 그 액티비티(802)를 수행하기 위해 실행할 기능(601)은 무엇인지, 그 기능을 제공하는 서비스(506)는 무엇인지를 결정한 후 해당 서비스(506)를 제공하는 각 스마트 오브젝트(501)에게 해당 서비스(506)의 수행을 요청함으로써 여러 스마트 오브젝트의 작동으로 이루어지는 태스크 단위의 협업을 이끌어낼 수 있다.As such, the
이하에서는, 본 발명의 일 실시예에 따른, 위와 같은 구조의 온톨로지를 기반으로 하는 사물인터넷 시스템의 구현 및 작동 예를 보다 구체적으로 설명한다.Hereinafter, an implementation and operation example of an IoT system based on the ontology having the above structure according to an embodiment of the present invention will be described in more detail.
본 실시예에서 스마트 오브젝트들(102, 103, 104)은 세미나실 또는 휴게실에 위치해 있다. 각 장소에 존재하는 스마트 오브젝트의 구성, 종류 및 분류, 각 장소에서 수행 가능한 사용자 태스크 및 그 태스크의 수행을 위해 제공되어야 할 스마트 오브젝트 별 기능의 예를 표로 정리하여 나타내면 다음과 같다.In this embodiment, the
본 실시예는 설명의 편의를 위하여 경량화 서버(101)가 그와 동일한 '장소'에 위치한 스마트 기기들을 관할하는 상황을 가정하였으나, 하나의 서버가 관할하는 스마트 기기들의 범위가 물리적인 '장소'로 한정될 필요는 없다.In this embodiment, for convenience of description, it is assumed that the
사물인터넷 시스템 개발자 또는 각 스마트 오브젝트 서비스 개발자는 위 표 2에 기재된 각 스마트 오브젝트 별로, 앞서 살펴본 각 온톨로지의 구조 및 온톨로지 인스턴스 작성 방법에 따라, 그 스마트 오브젝트의 역할 및 제공 서비스에 따른 사물 인터넷 온톨로지(401) 인스턴스, 그 스마트 오브젝트가 수집하는 상황정보에 관한 상황정보 온톨로지(403) 인스턴스, 그 스마트 오브젝트가 제공하는 서비스 기능에 관한 서비스 기능 온톨로지(404) 인스턴스 및 위 사물 인터넷 온톨로지(401) 인스턴스와 상황정보 온톨로지(403) 인스턴스, 그리고 서비스 기능 온톨로지(404) 인스턴스 사이의 상호 관계를 작성한다. 나아가 스마트 오브젝트가 경량화 서버(101)의 역할을 할 경우 사용자 태스크, 각 태스크를 구성하는 액티비티 및 그 태스크 수행을 위해 제공되어야 할 스마트 오브젝트 별 기능에 관한 태스크 온톨로지(402) 인스턴스도 작성한다.The IoT system developer or each smart object service developer determines the Internet of Things (401) ontology (401 ) instance, context information on context information collected by the
본 실시예의 온톨로지 구조 및 그에 따른 각 온톨로지 인스턴스를 구현 및 생성하기 위해 사용 가능한 온톨로지 언어 및 온톨로지 개발툴은 다양하다. 온톨로지 언어로는 CycL, KIF, Ontoligua, LOOM, OCML, F-Logic, SHOE, XOL, RDF, RDF Schema, OIL, DAML+OIL, OWL, XTM 등이 사용 가능하고, 온톨로지 개발툴로는 Protege, WebODE, Ontoedit, KAON, Ontolingua 서버, WebOnto, OilEd, SemanticWorks 등이 있다. There are various ontology languages and ontology development tools that can be used to implement and create the ontology structure of this embodiment and each ontology instance accordingly. CycL, KIF, Ontoligua, LOOM, OCML, F-Logic, SHOE, XOL, RDF, RDF Schema, OIL, DAML+OIL, OWL, and XTM are available as ontology languages, and Protege and WebODE are available as ontology development tools. , Ontoedit, KAON, Ontolingua server, WebOnto, OilEd, SemanticWorks, etc.
본 실시예에서 생성되는 상황정보를 온톨로지에 따라 작성하고 저장하기 위해 사용 가능한 라이브러리도 다양하나, 본 실시예에서는 Apache Jena와 H2DB를 사용한다. There are various libraries that can be used to create and store context information generated in this embodiment according to the ontology, but Apache Jena and H2DB are used in this embodiment.
Apache Jena는 JAVA에서 OWL로 작성된 온톨로지 트리플을 생성 및 저장하고 그에 대한 룰 기반의 추론을 수행해주는 라이브러리로, SPARQL 형태의 쿼리를 통해 저장된 상황 정보 중 필요한 트리플만을 검색하는 기능을 수행할 수 있다. 본 실시예에서는 스마트 오브젝트 초기화 시, Apache Jena 라이브러리에서 제공하는 모듈(Model class)을 생성하여 이를 런타임 동안 온톨로지 트리플 형태로 표현되는 상황정보을 저장하는 공간으로 사용한다. Apache Jena is a library that creates and stores ontology triples written in OWL in JAVA and performs rule-based reasoning on them. It can perform a function of searching only necessary triples among stored contextual information through SPARQL-type queries. In this embodiment, when initializing a smart object, a module (model class) provided by the Apache Jena library is created and used as a space to store context information expressed in the form of an ontology triple during runtime.
H2DB는 순수 JAVA 기반의 데이터 베이스 엔진으로, 데이터의 저장 및 검색이라는 데이터베이스 기본 기능을 제공해 주고, 라이브러리 파일의 사이즈가 1.5MB에 불과하여 경량화 된 설계를 기반으로 한다. 본 실시예에서 위 데이터베이스는 사용자의 상호작용 이력을 저장하기 위한 외부 매체로써 활용된다.H2DB is a pure JAVA-based database engine that provides basic database functions such as data storage and retrieval, and is based on a lightweight design with a library file size of only 1.5MB. In this embodiment, the above database is used as an external medium for storing the user's interaction history.
위와 같은 방법을 거쳐 작성된 온톨로지 인스턴스들은 그 스마트 오브젝트에 관한 서비스 명세(Service description)로써 경량화 서버(101)에 전달된다. 도 12가 그 과정을 나타내는 도면이다. 경량화 서버(101) 또는 스마트 오브젝트 서비스 개발자가 각 스마트 오브젝트(102, 103, 104)의 Identity에 대한 사물 인터넷 온톨로지 인스턴스(501)를 생성한 후[도 12 ①] 추가로 생성해야 하는 인스턴스의 범위는 각 스마트 오브젝트의 역할에 따라 달라진다. 만약 그 역할이 경량화 서버(VPO)(101)인 경우에는 태스크 온톨로지(402)의 인스턴스를 생성해야 한다[도 12 ②]. 그러나 경량화 서버(101)가 아닌 일반 스마트 오브젝트(102, 103, 104)의 경우에는, 상황정보를 생성·수집하면 상황정보 온톨로지(403)의 인스턴스를 생성하고[도 12 ③, ④], 서비스 기능을 제공하면 서비스 기능 온톨로지(404)의 인스턴스를 생성한다[도 12 ⑤]. 이렇게 생성된 인스턴스들은 그 스마트 오브젝트에 관한 서비스 명세로서 경량화 서버(101)에 전달된다[도 12 ⑥]. 이러한 서비스 명세의 전달은 개발자가 직접 경량화 서버(101)에 전달할 수도 있고 경량화 서버(101)가 스스로 스마트 오브젝트들로부터 수집하는 방법도 가능하다.The ontology instances created through the above method are transmitted to the
위 과정을 거쳐 전달된 온톨로지 인스턴스들은 스마트 오브젝트들의 서비스 명세로서 현재 공간에 어떤 기능을 하고 어떤 상황 정보를 생성하는 스마트 오브젝트 서비스들이 존재하는지에 대한 정보를 가지고 있다. 따라서 이러한 서비스 명세를 저장하는 경량화 서버(101)는 여러 서비스 도메인을 아우르는 사용자 태스크를 각 서비스의 기능 정보를 기반으로 구성할 수 있다. 예를 들어, 방을 적정 온도로 유지해주는 기능을 제공하는 스마트 에어컨과 발표 기능을 제공하는 스마트 프로젝터, 그리고 조명 조절 기능을 제공하는 스마트 전등이 서비스 명세를 전달해주면, 경량화 서버(101)는 이들을 묶어서 “팀 미팅 진행하기”라고 하는 사용자 태스크를 구성할 수 있다. 이러한 사용자 태스크는 시스템 또는 경량화 서버 개발자가 직접 구성할 수도 있으나, 사용자와의 상호 작용 이력이 충분히 축적되면 경량화 서버(101)가 추론을 통해 스스로 구성할 수도 있다. 즉, 경량화 서버(101)는 주변 스마트 오브젝트로부터 관심 있는 상황정보를 저장하고, 이를 바탕으로 하여 특정 사용자가 어떠한 상황에서 어떻게 행동을 하였는지에 관한 사용자 상호작용 이력을 기록한 후 이를 바탕으로 특정 상황에서의 사용자 행동 또는 태스크 정보를 스스로 구축한 후, 향후 특정 상황이 인지되면 그 태스크 수행에 적합한 스마트 오브젝트 서비스들을 자동으로 호출할 수 있다.Ontology instances delivered through the above process are service specifications of smart objects, and have information on what functions exist in the current space and what kind of contextual information smart object services exist. Accordingly, the
위와 같은 과정을 거쳐 위 [표 2]의 스마트 오브젝트 구성 및 태스크 시나리오에 대응하는 온톨로지 인스턴스들이 모두 생성되고 위 인스턴스들이 각각 세미나실을 담당하는 경량화 서버(101)인 통합 제어 모듈 또는 휴게실을 담당하는 경량화 서버(101)인 스마트TV에 서비스 명세로서 전달된 이후에, 사용자가 수행하고자 하는 태스크에 대응하는 서비스를 제공하는 과정을 설명하면 다음과 같다.Through the above process, all ontology instances corresponding to the smart object configuration and task scenarios in [Table 2] above are created, and the above instances are the
사용자가 수행할 태스크를 결정하는 방법은, 사용자가 서버(101)에 직접 특정 태스크를 정하여 수행 명령을 내릴 수도 있고, 상황정보를 바탕으로 서버(101)가 사용자의 태스크 수행 의도를 추론하여 결정할 수도 있다.As a method for determining the task to be performed by the user, the user may directly set a specific task to the
먼저 사용자가 서버(101)에 직접 특정 태스크의 수행 명령을 내리는 경우를 설명한다. 사용자가 휴게실에 들어와서 휴게실 내의 사물인터넷 시스템을 담당하는 서버(101) 스마트TV에 대해 '영화보기' 태스크를 수행할 것을 명령하면, 서버(101)는 영화보기 태스크에 해당하는 태스크 온톨로지 인스턴스(801)를 살펴보고 그 태스크와 composedOf 관계(803)로 연결된 액티비티 인스턴스(802)에는 스마트 TV 켜기, 비디오 재상 영상 소스로 화면 입력 모드 번경하기, 비디오 파일 재생하기, 에어컨 켜기, 전등 밝기 조절하기가 있음을 파악한다. 이후에는 위 각 액티비티 인스턴스(802)와 supportedBy(804) 관계로 연결된 Functionality 인스턴스(601)를 파악하고, 또한 각 Functionality 인스턴스(601)와 providesFunctionality 관계(602)로 연결된 서비스 인스턴스(506)를 파악하며, 나아가 서비스 인스턴스(506)와 providesService 관계(507) 및 exposedAs 관계(505)로 연결된 IoT_Element 인스턴스(501)까지 추적한다. 이러한 과정을 거쳐 서버(101)는 '영화보기' 태스크를 구성하는 각 액티비티 인스턴스(802)에 해당하는 서비스(506)를 제공해 줄 수 있는 스마트 오브젝트(501)를 파악할 수 있게 되어, 그렇게 파악된 각 스마트 오브젝트(501)에 대하여 서비스 제공 요청을 보낼 수 있게 된다. First, a case where a user directly gives a command to perform a specific task to the
서버(101)로부터 위 서비스 제공요청을 받은 각각의 스마트 오브젝트(501)는 사용자에게 해당 서비스를 바로 제공할 수도 있지만, 서버(101)를 거쳐 다른 스마트 오브젝트(102, 103, 104)로부터 획득한 상황정보 및 각 스마트 오브젝트(501)가 그동안 사용자와 상호작용했던 이력을 바탕으로 서비스의 구체적인 내용을 결정하여 제공, 즉 사용자에게 개인화된 서비스를 제공할 수도 있다. 예를 들어 '영화보기' 태스크 수행 명령에 따라 서버(101)로부터 스마트 오브젝트의 하나인 전등에 대하여 밝기 조절 서비스를 제공하라는 요청이 전달된 경우, 전등은 그동안 사용자가 영화를 볼 때 주로 설정했었던 밝기를 전등 내부 저장부(302)에 저장된 사용자 상호작용 이력으로부터 파악하여 그에 해당하는 밝기로 전등 밝기를 조절할 수 있다. 이처럼 서비스 제공 요청을 받은 스마트 오브젝트(501) 각각이 자체적인 판단에 의해 사용자에게 개인화된 서비스를 제공하게 되면, 모든 판단을 서버(101)에서 하는 시스템에 비해 그 판단 능력이 분산됨에 따라 기존의 중앙집중식 사물인터넷 시스템의 단점인 단일 고장점 문제를 완화하면서도 지능적인 서비스의 제공이 가능하게 된다.Each
다음으로, 사용자가 수행할 태스크를 결정하는 다른 방법으로서, 사용자로부터의 직접적인 명령 없이, 상황정보를 바탕으로 서버(101)가 사용자의 태스크 수행 의도를 추론하여 결정하는 방법을 설명한다. 이는 그 추론의 기반이 되는 구조를 설정하는 방법과 함께 설명한다. 추론의 기반이 되는 구조를 설정하는 방법은 도 14에 나타나 있다.Next, as another method for determining the task to be performed by the user, a method for the
사용자의 태스크 수행 의도는 주변의 상황에 따라 가변적이기 때문에 이런 가변성이 온톨로지 설계에 반영되어야 한다. 이러한 목적 달성을 위해서 본 발명에서는 태스크 온톨로지(402)의 중심에 User(805)와 Place(806), 그리고 Task(801)를 두고 다음과 같이 그 연결 고리를 정의한다Since the user's intention to perform the task is variable according to the surrounding situation, this variability must be reflected in the ontology design. To achieve this purpose, in the present invention, the user (805), place (806), and task (801) are placed at the center of the task ontology (402), and the link is defined as follows.
(1) 경량화 서버(101)는 사용자의 의도 파악에 활용하기 위해 상시 사용자의 태스크 수행 이력을 수집한다. 사용자의 태스크 수행 의도가 상황에 따라 어떻게 가변적인지를 파악하기 위해 축적된 사용자 상호작용 데이터에 대한 분석을 수행한다[도 14 ①].(1) The
(2) 데이터 분석 결과 각 장소 별로 사용자의 태스크 수행 의도에 영향을 주는 것으로 판단되는 상황 정보를 Context 타입의 온톨로지 인스턴스(701)로 생성한다[도 14 ②].(2) As a result of data analysis, context information that is determined to affect the user's task performance intention for each place is created as an
(3) 생성된 상황정보 인스턴스(701)를 태스크가 수행 된 장소와 연관짓기 위해 hasContext의 관계(807)를 정의한다(예: SeminarRoom-hasContext-Temperature, SeminarRoom-hasContext-PresentUserCount)[도 14 ③].(3) In order to associate the created
(4) 여러 상황정보로 특징 지을 수 있는, 각 장소별로 수행된 사용자 태스크를 Task 타입의 온톨로지 인스턴스(801)로 생성하고 사용자(805)와 장소(806), 상황정보(701), 태스크(801)를 User(805)-locatedIn(808)-Place(806), User(805)-conducts(809)-Task(801)의 관계로 연결한다[도 14 ④].(4) User tasks performed by each place, which can be characterized by various contextual information, are created as a Task
(5) 사용자는 현재 위치한 장소의 용도를 과거 경험에 의존하여 다양하게 인지한다. 이렇게 사용자가 현재 장소를 어떻게 인지하고 있는지를 본 발명의 일 실시예에서는 장소성(Placeness)(810)이라고 정의한다(예: 회의실은 경우에 따라 회의, 식사, 전화 통화, 그룹 스터디 등의 다양한 장소성을 가진다)[도 14 ⑤].(5) The user recognizes the use of the place currently located in various ways depending on past experiences. In this way, how the user perceives the current place is defined as
위와 같은 장소성(810)을 중심으로 태스크 수행과 관련된 사용자의 가변적인 의도를 결정할 수 있다. 따라서, 앞서 hasContext(807), locatedIn(808), conducts(809)의 관계를 통해 작성된 온톨로지들을 사용자가 가지는 장소성(810)이라는 개념으로 집합적으로 정의해준다. 예를 들어, 비가 오는 날마다 특정 사용자가 회의실에서 음악을 들었다면 이 사용자는 비가 오는 날의 회의실이라는 상황을 음악 감상실이라는 장소성으로 인지할 수 있다.A user's variable intention related to task performance may be determined based on the above-described
(6) 장소성에 대한 온톨로지 인스턴스(810)를 생성한 후 User(805)-hasPlaceness(811)-Placeness(810)의 관계로 연결 해준다[도 14 ⑥].(6) After creating an
(7) 이처럼 Context(701)-Place(806)-Placeness(810)-User(805)-Task(801)의 틀로 구성한 사용자의 태스크 수행 이력 분석 결과를 사용자의 태스크 수행 의도 파악에 적용할 수 있다[도 14 ⑦].(7) The result of analyzing the user's task performance history configured in the frame of Context (701) - Place (806) - Placeness (810) - User (805) - Task (801) can be applied to grasp the user's intention to perform the task. [Fig. 14 ⑦].
예를 들어, 휴게실을 담당하는 서버(101)인 스마트TV가 일정 기간 동안 사용자 A의 태스크 수행 이력 및 그에 대응하는 상황정보 이력을 수집하고 그 태스크 수행 이력을 분석한 결과 '비가 오는 날마다 사용자 A가 회의실에서 음악을 들었다'는 것이 파악된 경우, 이 사용자에 대한 "Task-User-Place-Context" 관계인 "음악감상-User A-회의실-비오는 날" 관계는 사용자 A에 대해서는 "음악감상실"이라는 Placeness(811)로 저장될 것이고, 향후 사용자 A가 비오는 날 그 회의실에 들어오면 서버(101)인 스마트TV는 위 정보를 활용하여 그 장소성이 "음악감상실"임을 파악하여 그 장소성과 연결되어 있는 태스크인 "음악감상" 태스크를 수행하도록 하는 명령을 추론을 통해 내릴 수 있다. 이처럼 태스크의 추론을 서버(101) 스스로 하게 되면 사용자가 직접 태스크 수행 명령을 내리지 않더라도 자동으로 사용자가 원하는 서비스를 여러 스마트 오브젝트(102, 103, 104)들이 협력하여 제공하게 되므로, 사용자의 편의성 측면에서 큰 효과가 있다.For example, as a result of a Smart TV, a
위에서 사용자의 태스크 수행 이력을 분석하여 사용자의 태스크 수행 의도에 영향을 주는 것으로 판단되는 상황정보를 인지하고, 이러한 분석 결과를 토대로 향후 실시간으로 수집되는 상황정보로부터 사용자의 태스크 수행 의도를 추론하는 데 사용되는 방법으로는 룰(rule) 기반 추론 방법과 패턴(pattern) 기반 추론 방법이 있으나, 추론 방법은 이에 한정되지는 않는다. 룰 기반 추론 방법의 한 예로는 association rule mining이 있고, 패턴 기반 추론 방법의 예로는 HMM(Hidden Markov Model), HML(Hidden Markov Logic) 등이 있다.The user's task performance history is analyzed above to recognize contextual information that is determined to affect the user's task performance intention, and based on the analysis result, it is used to infer the user's task performance intention from contextual information collected in real time in the future. As a method, there are a rule-based reasoning method and a pattern-based reasoning method, but the reasoning method is not limited thereto. An example of a rule-based reasoning method is association rule mining, and examples of a pattern-based reasoning method include Hidden Markov Model (HMM) and Hidden Markov Logic (HML).
다음으로, 태스크 수행을 위해 서비스 제공을 요청받은 스마트 오브젝트(501)의 사용자 개인화 서비스 제공 방법을 설명한다.Next, a method of providing a user personalized service of the
태스크 수행을 위한 스마트 오브젝트들의 협업을 관장하는 서버(101)로부터 서비스 제공 요청을 받은 각 스마트 오브젝트들(501)은 단순히 요청받은 서비스를 기계적으로 제공해 주는 것이 아니라, 그동안의 사용자와의 상호작용 이력 정보로부터 그 사용자에게 개인화된 서비스를 제공할 수 있다. 이처럼 사용자에 대해 각 스마트 오브젝트의 서비스 제공 방식을 개인화하기 위해서는 각 스마트 오브젝트가 사용자와의 상호작용 이력을 수집해야 하고, 수집되어 누적된 사용자의 상호작용 이력 정보로부터 유의미한 패턴을 찾아 이를 사용자의 기호로써 학습해 두어야 한다.Each of the
패턴의 발견 및 학습을 위해서는 다양한 기법이 적용될 수 있는데, Neural Networks, SVM, Clustering, Decision Tree, Association Rule Mining, Rough Set Theory 기법 등이 그 예이나 패턴 발견 및 학습 기법은 이에 한정되지는 않는다.Various techniques can be applied for pattern discovery and learning, examples of which are Neural Networks, SVM, Clustering, Decision Tree, Association Rule Mining, and Rough Set Theory techniques, but the pattern discovery and learning techniques are not limited thereto.
제공되는 개인화된 서비스의 수준은 해당 스마트 오브젝트의 분류에 따라 다를 수 있다. 상대적으로 컴퓨팅 능력이 떨어지는 Networked(Level 2) 단계의 스마트 오브젝트의 경우, 자신이 생성하는 정보에 대한 해석 또는 추론만 가능하므로, 온도 센서의 경우를 예로 들면 온도 센서는 일반적으로 10도, 24도와 같은 숫자를 데이터로 생성하지만, 사용자와의 상호작용 이력을 통해 그 데이터에 춥다, 따뜻하다, 덥다 등의 의미를 부여할 수 있다.The level of personalized service provided may vary according to the classification of the corresponding smart object. In the case of smart objects in the Networked (Level 2) stage, which have relatively low computing power, they can only interpret or infer the information they generate, so in the case of temperature sensors, for example, temperature sensors are generally Numbers are created as data, but meanings such as cold, warm, or hot can be given to the data through the user's interaction history.
컴퓨팅 능력이 보다 뛰어난 Enhanced(Level 3) 단계의 스마트 오브젝트의 경우는, 다른 스마트 오브젝트로부터 수집된 컨텍스트 및 관련 지식을 함께 보관할 수 있으므로 이를 자신이 가지고 있거나 생성한 정보를 함께 활용하여 Networked 단계의 스마트 오브젝트에 비해 보다 복잡한 수준의 추론 및 서비스 제공이 가능하다. 예를 들어, 기온 및 습도가 높고 여러 사람이 현재 공간에 머무르고 있다는 정보를 주변 스마트 오브젝트들로부터 수집했고 그 경우 과거의 이력을 통해 자주 설정되었던 특정 온도가 있다면, 에어컨 서비스의 경우 사용자들의 쾌적함을 위해 그 특정 온도를 설정하여 냉방을 가동할 수 있을 것이다.In the case of smart objects of the Enhanced (Level 3) stage with more computing power, they can store the context and related knowledge collected from other smart objects together, so they can use it together with the information they have or create, and the smart objects of the Networked stage It is possible to infer and provide services at a more complex level than . For example, if information that the temperature and humidity are high and that many people are staying in the current space is collected from surrounding smart objects, and there is a specific temperature that has been frequently set through the past history, in the case of air conditioning service, for the comfort of users You will be able to turn on the cooling by setting that specific temperature.
도 15는 본 발명의 일 실시예에 따른 서버(101)의 제어방법을 나타내는 도면이다. 상기 제어방법은 사용자의 행동 별로 마련되는 복수의 태스크에 관한 정보와, 적어도 하나의 전자기기가 수행할 수 있는 복수의 서비스에 관한 정보를 저장하는 단계(S1501)와, 상기 적어도 하나의 전자기기로부터 상황정보를 수신하는 단계(S1502), 상기 복수의 태스크 중에서 상기 수신된 상황정보가 나타내는 사용자의 행동에 대응하는 태스크를 결정하는 단계(S1503) 및 상기 적어도 하나의 전자기기 중에서 상기 결정된 태스크에 대응하는 상기 서비스를 제공할 수 있는 제1전자기기로 상기 서비스에 관한 정보를 전송하는 단계(S1504)를 포함한다.15 is a diagram illustrating a control method of the
도 16은 본 발명의 일 실시예에 따른 전자기기(102, 103, 104)의 제어방법을 나타내는 도면이다. 상기 제어방법은 상황정보를 저장하는 단계(S1601)와, 서버로부터 서비스에서 관한 정보를 수신하는 단계(S1602) 및 상기 저장된 상황정보를 바탕으로 상기 수신한 서비스의 내용을 결정하여 제공하는 단계(S1603)를 포함한다.16 is a diagram illustrating a control method of
이상에서 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다. 그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 특허청구범위의 범위에 속한다고 할 것이고, 본 개시 방법들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다.Although the present invention has been described above with limited embodiments and drawings, those skilled in the art can make various modifications and variations from the above description. For example, the described techniques may be performed in an order different from the method described, or the components of the described system, structure, device, circuit, etc. may be combined or combined in a different form than the method described, or other components or equivalents may be used. Appropriate results can be achieved even if substituted or substituted by Therefore, other implementations, other embodiments and equivalents of the claims are intended to be within the scope of the claims, and the methods disclosed herein are to be considered in an illustrative rather than a limiting sense.
101: 서버
102, 103, 104: 전자기기
401: 사물인터넷 구성요소 온톨로지
402: 태스크 온톨로지
403: 상황정보 온톨로지
404: 서비스 기능 온톨로지101: server
102, 103, 104: electronic device
401: IoT component ontology
402: task ontology
403: context information ontology
404: service function ontology
Claims (16)
적어도 하나의 전자기기와 통신할 수 있는 통신부;
복수의 태스크에 관한 정보와, 상기 적어도 하나의 전자기기가 제공할 수 있는 복수의 서비스에 관한 정보를 저장할 수 있는 저장부; 및
사용자 입력을 수신하고,
상기 복수의 태스크 중에서 상기 사용자 입력에 대응하는 태스크를 결정하고,
상기 적어도 하나의 전자기기 중에서 상기 결정된 태스크에 대응하는 상기 서비스를 제공할 수 있는 제1전자기기로 상기 서비스에 관한 정보를 전송하도록 하는 처리부를 포함하며,
상기 처리부는 상기 제1전자기기가, 상기 제1전자기기에 의해 수집된 제1상황정보와, 상기 복수의 서비스 중 적어도 하나의 서비스를 제공할 수 있고 상기 제1전자기기와 다른 제2전자기기로부터 수신된 제2상황정보에 기초하여, 상기 서비스의 내용을 결정하여 제공할 수 있도록 상기 제2상황정보를 상기 제1전자기기로 더 전송하는 것을 특징으로 하는 서버.in the server,
A communication unit capable of communicating with at least one electronic device;
a storage unit capable of storing information about a plurality of tasks and information about a plurality of services that the at least one electronic device can provide; and
receive user input;
determining a task corresponding to the user input from among the plurality of tasks;
A processing unit configured to transmit information about the service to a first electronic device capable of providing the service corresponding to the determined task among the at least one electronic device,
The processing unit allows the first electronic device to provide the first situation information collected by the first electronic device and at least one service among the plurality of services, and a second electronic device different from the first electronic device. The server further transmits the second context information to the first electronic device so that content of the service can be determined and provided based on the second context information received from the server.
상기 처리부는 태스크 이력 정보에 기초하여 상기 태스크 및 상기 태스크에 대응하는 적어도 하나의 상기 서비스에 관한 정보를 생성하여 상기 저장부에 저장하는 것을 특징으로 하는 서버.According to claim 1,
The server according to claim 1 , wherein the processing unit generates information about the task and at least one service corresponding to the task based on task history information, and stores the information in the storage unit.
상기 복수의 태스크는 장소 별로 분류되는 것을 특징으로 하는 서버.According to claim 1,
The server, characterized in that the plurality of tasks are classified by location.
서버와 통신할 수 있는 통신부;
상황정보를 저장할 수 있는 저장부; 및
상기 서버로부터 복수의 서비스 중 상기 전자기기가 제공할 수 있는 서비스에 관한 정보를 수신하면, 상기 저장된 상황정보에 기초하여 해당 서비스의 내용을 결정하여 제공하는 처리부를 포함하고,
상기 상황정보는 상기 전자기기에 의해 수집된 제1상황정보와, 상기 복수의 서비스 중 적어도 하나의 서비스를 제공할 수 있고 상기 전자기기와 다른 제2전자기기에 의해 수집되고, 상기 서버를 통해 수신된 제2상황정보를 포함하는 것을 특징으로 하는 전자기기.In electronic devices,
A communication unit capable of communicating with the server;
a storage unit capable of storing situation information; and
When receiving information about a service that the electronic device can provide among a plurality of services from the server, a processing unit determining and providing the content of the corresponding service based on the stored situation information;
The context information is collected by first context information collected by the electronic device and a second electronic device capable of providing at least one of the plurality of services and different from the electronic device, and received through the server. An electronic device characterized in that it includes the second situation information.
상기 제1 및 제2상황정보는 사용자와의 상호작용 이력을 포함하는 것을 특징으로 하는 전자기기.According to claim 6,
The electronic device characterized in that the first and second situation information includes a history of interaction with the user.
상기 서버는,
복수의 태스크에 관한 정보와, 상기 적어도 하나의 전자기기가 제공할 수 있는 복수의 서비스에 관한 정보를 저장할 수 있는 저장부; 및
사용자 입력을 수신하고, 상기 복수의 태스크 중에서 상기 수신된 사용자 입력에 대응하는 태스크를 결정하고, 상기 적어도 하나의 전자기기 중에서 상기 결정된 태스크에 대응하는 상기 서비스를 제공할 수 있는 제1전자기기로 상기 서비스에 관한 정보를 전송하도록 하는 처리부를 포함하고,
상기 서비스에 관한 정보를 전송하도록 함에 있어서는 상기 제1전자기기가, 상기 제1전자기기에 의해 수집된 제1상황정보와, 상기 복수의 서비스 중 적어도 하나의 서비스를 제공할 수 있고 상기 제1전자기기와 다른 제2전자기기로부터 수신된 제2상황정보에 기초하여, 상기 서비스의 내용을 결정하여 제공할 수 있도록 상기 제2상황정보를 상기 제1전자기기로 더 전송하는 것을 특징으로 하고,
상기 전자기기는,
상기 전자기기에 의해 수집된 제3상황정보와, 상기 복수의 서비스 중 적어도 하나의 서비스를 제공할 수 있고 상기 전자기기와 다른 상기 제2전자기기를 포함하는 제3전자기기에 의해 수집되고, 상기 서버를 통해 수신된 제4상황정보를 포함하는 상황정보를 저장할 수 있는 저장부; 및
상기 서버로부터 복수의 서비스 중 상기 전자기기가 제공할 수 있는 서비스에 관한 정보를 수신하면, 상기 저장된 상황정보에 기초하여 해당 서비스의 내용을 결정하여 제공하는 처리부를 포함하는 것을 특징으로 하는 사물인터넷 시스템.In the IoT system consisting of a server and at least one electronic device,
The server,
a storage unit capable of storing information about a plurality of tasks and information about a plurality of services that the at least one electronic device can provide; and
A first electronic device capable of receiving a user input, determining a task corresponding to the received user input from among the plurality of tasks, and providing the service corresponding to the determined task among the at least one electronic device. Including a processing unit to transmit information about the service,
In transmitting the information about the service, the first electronic device may provide the first situation information collected by the first electronic device and at least one service among the plurality of services, and the first electronic device Characterized in that the second situation information is further transmitted to the first electronic device so that the content of the service can be determined and provided based on the second situation information received from the second electronic device different from the device,
the electronic device,
The third context information collected by the electronic device and a third electronic device including the second electronic device capable of providing at least one service among the plurality of services and different from the electronic device, a storage unit capable of storing situation information including fourth situation information received through the server; and
and a processing unit that determines and provides the content of the corresponding service based on the stored situation information when receiving information about a service that the electronic device can provide among a plurality of services from the server. .
상기 처리부는 태스크 이력 정보에 기초하여 상기 태스크 및 상기 태스크에 대응하는 적어도 하나의 상기 서비스에 관한 정보를 생성하여 상기 저장부에 저장하는 것을 특징으로 하는 사물인터넷 시스템.In the server of claim 9,
The processing unit generates information about the task and at least one service corresponding to the task based on task history information, and stores the information in the storage unit.
상기 복수의 태스크는 장소 별로 분류되는 것을 특징으로 하는 사물인터넷 시스템.In the server of claim 9,
The IoT system, characterized in that the plurality of tasks are classified by location.
상기 제1 내지 제4상황정보는 사용자와의 상호작용 이력을 포함하는 것을 특징으로 하는 사물인터넷 시스템.In the electronic device of claim 9,
The first to fourth context information includes a history of interaction with the user.
복수의 태스크에 관한 정보와, 적어도 하나의 전자기기가 제공할 수 있는 복수의 서비스에 관한 정보를 저장하는 단계;
사용자 입력을 수신하는 단계;
상기 복수의 태스크 중에서 상기 사용자 입력에 대응하는 태스크를 결정하는 단계; 및
상기 적어도 하나의 전자기기 중에서 상기 결정된 태스크에 대응하는 상기 서비스를 제공할 수 있는 제1전자기기로 상기 서비스에 관한 정보를 전송하는 단계를 포함하며,
상기 전송하는 단계는 상기 제1전자기기가, 상기 제1전자기기에 의해 수집된 제1상황정보와, 상기 복수의 서비스 중 적어도 하나의 서비스를 제공할 수 있고 상기 제1전자기기와 다른 제2전자기기로부터 수신된 제2상황정보에 기초하여, 상기 서비스의 내용을 결정하여 제공할 수 있도록 상기 제2상황정보를 상기 제1전자기기로 더 전송하는 단계를 포함하는 서버의 제어방법.In the server control method,
storing information about a plurality of tasks and information about a plurality of services that at least one electronic device can provide;
receiving user input;
determining a task corresponding to the user input from among the plurality of tasks; and
Transmitting information about the service to a first electronic device capable of providing the service corresponding to the determined task among the at least one electronic device,
In the transmitting step, the first electronic device may provide the first situation information collected by the first electronic device and at least one service among the plurality of services, and the second electronic device may be different from the first electronic device. and further transmitting the second context information to the first electronic device so that content of the service can be determined and provided based on the second context information received from the electronic device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160042363A KR102485645B1 (en) | 2016-04-06 | 2016-04-06 | A Distributed IoT System based on distributed ontology structure for Task-driven Smart Objects Collaboration |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160042363A KR102485645B1 (en) | 2016-04-06 | 2016-04-06 | A Distributed IoT System based on distributed ontology structure for Task-driven Smart Objects Collaboration |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20170114804A KR20170114804A (en) | 2017-10-16 |
KR102485645B1 true KR102485645B1 (en) | 2023-01-06 |
Family
ID=60295527
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160042363A KR102485645B1 (en) | 2016-04-06 | 2016-04-06 | A Distributed IoT System based on distributed ontology structure for Task-driven Smart Objects Collaboration |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102485645B1 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101912702B1 (en) * | 2017-11-21 | 2018-10-30 | 한국과학기술원 | Distributed learning method for capturing preferences in a smart environment |
KR102239925B1 (en) * | 2017-11-29 | 2021-04-16 | 한국전자기술연구원 | SYSTEM AND METHOD FOR CONTROLLING IoT DEVICE |
KR102153819B1 (en) * | 2018-11-27 | 2020-09-08 | 한국과학기술원 | Task oriented role based service composition and scheduling |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100811091B1 (en) * | 2006-11-24 | 2008-03-19 | (주)오로라 디자인랩 | Home network context-aware service system of an intelligence type and its method |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101349540B1 (en) * | 2012-02-22 | 2014-01-08 | 부산대학교 산학협력단 | System and method for providing context cognition to controll home network service |
-
2016
- 2016-04-06 KR KR1020160042363A patent/KR102485645B1/en active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100811091B1 (en) * | 2006-11-24 | 2008-03-19 | (주)오로라 디자인랩 | Home network context-aware service system of an intelligence type and its method |
Also Published As
Publication number | Publication date |
---|---|
KR20170114804A (en) | 2017-10-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11449022B2 (en) | Building management system with integration of data into smart entities | |
Mahbub et al. | IoT-Cognizant cloud-assisted energy efficient embedded system for indoor intelligent lighting, air quality monitoring, and ventilation | |
CN106663143B (en) | M2M ontology management and semantic interoperability | |
KR102273367B1 (en) | Super Things Model as a Harmonious System for Complex Services of IoT | |
US20130311419A1 (en) | Incremental Reasoning Under Data Source Availability Constraints | |
US10574764B2 (en) | Automated learning universal gateway | |
KR102485645B1 (en) | A Distributed IoT System based on distributed ontology structure for Task-driven Smart Objects Collaboration | |
Diyan et al. | Intelligent Internet of Things gateway supporting heterogeneous energy data management and processing | |
US11595320B1 (en) | Multi-tier resource, subsystem, and load orchestration | |
KR20090053178A (en) | Reasoning apparatus and method for user adaptive service and context-aware knowledge system using its | |
Sai et al. | Smart Home Messenger Notifications System using IoT | |
KR20190066283A (en) | Service-oriented platform for iot and control method thereof | |
Li et al. | Intelligent control system of smart home for context awareness | |
Vastardis et al. | A user behaviour-driven smart-home gateway for energy management | |
Luo et al. | Adaptive wireless multimedia communications with context-awareness using ontology-based models | |
Machorro-Cano et al. | Pesshiot: Smart platform for monitoring and controlling smart home devices and sensors | |
Spinsante et al. | Data management in ambient assisted living platforms approaching IoT: A case study | |
KR102566607B1 (en) | Ontology based intelligent smart home system and method | |
KR100904147B1 (en) | Query management apparatus and method for context-aware knowledge service | |
Zafeiropoulos et al. | Data management in sensor networks using semantic web technologies | |
Kosek et al. | RDF recipes for context-aware interoperability in pervasive systems | |
Haider et al. | A Proposed Framework for Context-Aware Semantic Service Provisioning | |
Saad et al. | Application of complex event processing approaches for intelligent building development: A review | |
Rocher et al. | Overview and challenges of ambient systems, towards a constructivist approach to their modelling | |
Almeida et al. | Dynamic ontology enrichment and reasoningin ami environments |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |