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 PDF

Info

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
Application number
KR1020160042363A
Other languages
Korean (ko)
Other versions
KR20170114804A (en
Inventor
윤현식
이동만
최성진
손희석
Original Assignee
삼성전자주식회사
한국과학기술원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사, 한국과학기술원 filed Critical 삼성전자주식회사
Priority to KR1020160042363A priority Critical patent/KR102485645B1/en
Publication of KR20170114804A publication Critical patent/KR20170114804A/en
Application granted granted Critical
Publication of KR102485645B1 publication Critical patent/KR102485645B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/36Creation of semantic tools, e.g. ontology or thesauri
    • G06F16/367Ontology
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery 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.

Figure R1020160042363
Figure R1020160042363

Description

스마트 오브젝트의 태스크 기반 협업을 위한 분산 설계 온톨로지에 기반한 분산 사물인터넷 시스템 {A Distributed IoT System based on distributed ontology structure for Task-driven Smart Objects Collaboration}Distributed IoT System based on distributed ontology structure for Task-driven Smart Objects Collaboration}

본 발명은 지능형 서비스 제공을 위한 사물인터넷 시스템, 더 구체적으로는 스마트 오브젝트의 태스크 기반 협업을 위한 분산 설계 온톨로지에 기반한 분산 사물인터넷 시스템에 관한 것이다.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.

Figure 112016033375327-pat00001
Figure 112016033375327-pat00001

즉, 현재 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 server 101 in the present invention.
3 is a block diagram showing the configuration of electronic devices 102, 103, 104 in the present invention.
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 IoT component ontology 401 according to an embodiment of the present invention.
6 is a diagram illustrating a detailed design of a service function ontology 404 according to an embodiment of the present invention.
7 is a diagram showing a detailed design of a context information ontology 403 according to an embodiment of the present invention.
8 is a diagram illustrating a detailed design of a task ontology 402, according to an embodiment of the present invention.
9 is a diagram illustrating a method of generating an instance of an IoT component ontology 401 according to an embodiment of the present invention.
10 is a diagram illustrating a method of creating an instance of a context information ontology 403 and a method of defining a relationship with a smart object service according to an embodiment of the present invention.
11 is a diagram illustrating a method of creating an instance of a smart object service function ontology 404 according to an embodiment of the present invention.
12 is a diagram illustrating a method of generating and transmitting a service specification of a smart object to the lightweight server 101 according to an embodiment of the present invention.
13 is a diagram illustrating a method of instantiating a task ontology 402 according to an embodiment of the present invention.
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 server 101 according to an embodiment of the present invention.
16 is a diagram illustrating a control method of electronic devices 102, 103, and 104 according to an embodiment of the present invention.

이하에서는 상기의 목적을 구체적으로 실현할 수 있는 본 발명의 실시예를 도면을 참조하여 설명한다. 다만, 본 발명의 기술적 사상과 그 핵심 구성 및 작용이 이하의 실시예에 설명된 구성 또는 작용으로만 한정되지는 않는다. 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다.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 server 101 and at least one smart device 102, 103, 104 (meaning the same as the 'smart object' used above, but 'smart device' in relation to the server). ' or 'electronic device'), and when one server and at least one smart device as described above are referred to as a 'group' 100, the system of the present invention can also be configured in several groups . Although the server is treated separately from the smart device in concept here, the server may also be a smart device.

사물인터넷의 구성요소가 될 수 있는 장치라면 무엇이든 본 발명의 서버 또는 스마트 기기에 해당할 수 있다. 즉, 본 발명의 서버 또는 스마트 기기는, 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 server 101 in the present invention. The server 101 is composed of a communication unit 201, a storage unit 202, and a processing unit 203.

통신부(201)는 스마트 기기(102, 103, 104)와의 통신을 수행한다. 구체적으로, 통신부(201)는 적어도 하나의 스마트 기기와 통신하며 그 스마트 기기에 관한 정보 및 상황정보를 수신하고, 처리부(203)의 처리 결과에 따라 상기 적어도 하나의 스마트 기기 중 적어도 하나에 서비스 제공 요청을 송신한다. The communication unit 201 performs communication with the smart devices 102, 103, and 104. Specifically, the communication unit 201 communicates with at least one smart device, receives information and situation information about the smart device, and provides a service to at least one of the at least one smart device according to the processing result of the processing unit 203. send request

여기서 '상황정보'란 사용자와 다른 사용자, 시스템, 혹은 디바이스의 어플리케이션 간 상호 작용에 영향을 미치는 사람, 장소, 사물, 개체, 시간 등 상황(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 communication unit 201 may perform communication with the smart devices 102, 103, and 104 through a wired or wireless network, and thus may include a communication protocol for a wireless local area network (WLAN) in a broad sense. . In addition, communication modules corresponding to other communication methods such as Bluetooth, Wi-Fi, Zigbee, IR communication, and RF communication may be included.

본 발명의 사물인터넷 시스템이 홈 네트워크로 사용될 경우, 상기 통신 모듈은 다양한 홈 네트워크 통신 규격에 따른 통신을 수행할 수 있다. 예를 들어, 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 storage unit 202 stores information about a plurality of tasks provided for each user's behavior and a plurality of services that the at least one smart device can perform. In the case where the server 101 has jurisdiction over a specific place, for example, the storage unit 202 of the server 101 includes situational information related to the place, information on smart devices present at the place, and user information at the place. Information on tasks that can be performed and information about smart devices to be provided with services when each task is performed are stored. Furthermore, the storage unit 202 may store user task history information.

저장부(202)의 구체적인 형태는 HDD(Hard Disk Drive), SSD(Solid State Drive), 플래시메모리(Flash Memory) 등 정보를 저장하는 기능을 수행할 수 있는 것이라면 무엇이든 가능하고, RAM(Random Access Memory)과 같은 휘발성 메모리를 배제하지 않는다.The specific form of the storage unit 202 can be anything that can perform a function of storing information, such as a hard disk drive (HDD), a solid state drive (SSD), and a flash memory, and random access RAM (RAM). It does not exclude volatile memory such as memory).

처리부(203)는 상기 통신부(201)를 통하여 상기 적어도 하나의 스마트 기기(102, 103, 104)로부터 상황정보를 수신하고, 상기 복수의 태스크 중에서 상기 수신된 상황정보가 나타내는 사용자의 행동에 대응하는 태스크를 결정하고, 상기 적어도 하나의 스마트 기기(102, 103, 104) 중에서 상기 결정된 태스크에 대응하는 상기 서비스를 제공할 수 있는 제1전자기기로 상기 서비스에 관한 정보를 전송하도록 한다. 이러한 정보 처리 기능을 수행할 수 있다면 CPU(Central Processing Unit), AP(Application Processor) 등의 형태를 불문하고 모두 가능하다.The processing unit 203 receives situation information from the at least one smart device 102, 103, 104 through the communication unit 201, and responds to a user's behavior indicated by the received situation information among the plurality of tasks. A task is determined, and information about the service is transmitted to a first electronic device capable of providing the service corresponding to the determined task among the at least one smart device 102 , 103 , and 104 . Any type of CPU (Central Processing Unit), AP (Application Processor), etc., can perform this information processing function.

처리부(203)는 상기 제1전자기기 이외의 제2전자기기로부터 수신한 상기 상황정보를 상기 제1전자기기로 전송하는 것도 가능하다. 이처럼 하나의 스마트 기기가 자신이 직접 생성·수집한 상황정보뿐만 아니라 다른 스마트 기기가 생성·수집한 상황정보를 추가로 제공받아 개인화 서비스 제공에 활용한다면 더욱 지능화된 개인화 서비스를 제공할 수 있다.The processing unit 203 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 one smart device receives not only the situation information generated and collected by itself but also the situation information generated and collected by other smart devices and uses it to provide personalized service, more intelligent personalized service can be provided.

도 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 electronic devices 102, 103, and 104 also have the same basic configuration as the server 101 in that they are composed of a communication unit 301, a storage unit 302, and a processing unit 303.

통신부(301)는 적어도 하나의 서버(101)와 통신하며 상기 전자기기(102, 103, 104)에 관한 정보 및 상황정보를 송신하고 상기 적어도 하나의 서버(101)로부터 서비스 제공 요청을 수신한다. 서버(101)의 경우와 마찬가지로, 이러한 통신 기능을 수행할 수 있다면 무엇이든 통신부가 될 수 있고, 통신 방법으로는 IoT라는 특성상 무선 통신 방법이 주로 사용될 것이나, 유선 통신이 사용될 가능성을 배제하는 것은 아니다.The communication unit 301 communicates with at least one server 101, transmits information and situation information about the electronic devices 102, 103, and 104, and receives a service provision request from the at least one server 101. As in the case of the server 101, anything that can perform these communication functions can be a communication unit, and as a communication method, a wireless communication method will be mainly used due to the nature of IoT, but the possibility of using wired communication is not excluded. .

저장부(302)는 상황정보, 상기 전자기기(102, 103, 104)가 제공하는 적어도 하나의 서비스에 관한 정보를 저장한다. 나아가 저장부(302)는 사용자와의 상호작용 이력 정보도 저장할 수 있다. 서버(101)에서 언급한 것과 마찬가지로, 저장부(202)의 구체적인 형태는 HDD, SSD, Flash Disk 등 정보를 저장하는 기능을 수행할 수 있는 것이라면 무엇이든 가능하고 RAM과 같은 휘발성 메모리를 배제하지 않는다.The storage unit 302 stores situation information and information about at least one service provided by the electronic devices 102 , 103 , and 104 . Furthermore, the storage unit 302 may also store interaction history information with the user. As mentioned in the server 101, the specific form of the storage unit 202 can be anything that can perform a function of storing information such as HDD, SSD, Flash Disk, etc., and volatile memory such as RAM is not excluded. .

처리부(303)는 서버(101)로부터 서비스에 관한 정보를 수신하면 해당 서비스를 제공한다. 여기서 상기 결정된 서비스를 제공함에 있어서는 상기 저장부(302)에 저장된 상황정보를 바탕으로 사용자에게 개인화된 서비스를 제공한다. 나아가 처리부(303)는 사용자와의 상호작용 이력 정보를 더 참고하여 사용자에게 개인화된 서비스를 제공할 수도 있다. 서버(101)의 경우에서 언급했듯이, 정보 처리 기능을 수행할 수 있다면 CPU(Central Processing Unit), AP(Application Processor) 등의 형태를 불문하고 모두 가능하다.When receiving information about a service from the server 101, the processing unit 303 provides the corresponding service. Here, in providing the determined service, a personalized service is provided to the user based on the situation information stored in the storage unit 302 . Furthermore, the processing unit 303 may provide a personalized service to the user by further referring to the interaction history information with the user. As mentioned in the case of the server 101, any type of CPU (Central Processing Unit), AP (Application Processor), etc. can be used as long as it can perform an information processing function.

서버(101)의 처리부(203)가 제1전자기기 이외에 제2전자기기로부터 수신한 상황정보를 제1전자기기로 전송하는 것이 가능하듯이, 전자기기(102, 103, 104)의 처리부(303) 역시도 상기 제1전자기기 이외의 제2전자기기로부터 서버(101)가 수신한 상황정보를 수신하는 것도 가능하다. 그 효과는, 서버(101)의 경우와 마찬가지로, 하나의 스마트 기기인 제1전자기기가 직접 수집한 상황정보뿐만 아니라 다른 스마트 기기인 제2전자기기가 생성한 상황정보를 추가로 제공받아 개인화 서비스 제공에 활용할 수 있게 됨에 따라 더욱 지능화된 개인화 서비스를 제공할 수 있다Just as it is possible for the processing unit 203 of the server 101 to transmit the situation information received from the second electronic device other than the first electronic device to the first electronic device, the processing unit 303 of the electronic devices 102, 103, and 104 ) It is also possible to receive the situation information received by the server 101 from a second electronic device other than the first electronic device. As in the case of the server 101, the effect is to receive not only the situation information directly collected by the first electronic device, which is one smart device, but also the situation information generated by the second electronic device, which is another smart device, to provide personalized service. As it can be used for provision, more intelligent personalized service can be provided.

위와 같은 서버(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 server 101 and the smart devices 102, 103, and 104 as described above, each smart device 102, 103, and 104 in the IoT system of the present invention provides personalized service to the user. In that it has autonomous learning and judgment capabilities to provide, most of the work requiring intelligence is left to the server, and each smart device simply performs only sensing of environmental information or providing one-way services. is different. In addition, the server 101 has information about a task, which is a collective concept of services provided by several smart devices 102, 103, and 104, and information about services provided by each smart device 102, 103, and 104, , it is possible to determine the smart device (102, 103, 104) that provides a service necessary to perform a specific task. In addition, since the server 101 also stores context information, it is possible to infer a task to be performed by a user in a specific situation through determining a relationship between the context information and the performed task. Furthermore, the server 101 and the group 100 of the smart devices 102, 103, and 104 as described above do not necessarily need to be one, and a plurality of groups may form one system. In this case, since a plurality of servers 101 exist, there is an effect of solving the problem of performance degradation and single point of failure caused by concentration of all intelligent processing in a single server.

<본 발명의 일 <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 server 101 has jurisdiction over smart devices 102, 103, and 104 located in one 'place' for convenience of explanation, but one server 101 has jurisdiction The scope of the smart devices 102, 103, and 104 need not be limited to a physical 'place'.

온톨로지의 설계는 전체 시스템의 구조와 밀접한 관계가 있다. 앞서 본 바와 같이 본 발명의 시스템은 단일 서버 기반 서비스 제공 구조가 가지는 단일 고장점 문제(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 server 101 is reduced in weight by distributing part of the function of storing knowledge and reasoning based on contextual information to each smart device 102, 103, and 104. The distribution of judgment capabilities requires that each smart device (102, 103, 104) as well as the server 101 be equipped with knowledge that is the basis for judgment.

이러한 분산 시스템 구조를 대상으로 하는, 본 발명의 일 실시예에 따른 사물인터넷 시스템의 기반이 되는 온톨로지는 사물인터넷 구성요소 온톨로지(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 IoT component ontology 401, a task ontology 402, a context information ontology 403, and a service function. Ontology 404 is included. These ontologies include smart objects in the IoT environment (hereinafter referred to as 'smart objects' collectively for the 'server' and 'smart device' in the ontology) and services, users, and key concepts related to user's surrounding context information and By defining the relationship between them, the basic skeleton of the IoT system of this embodiment is provided. The role of each ontology is as follows.

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 IoT component ontology 401. 9 is a diagram showing the method.

(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 lightweight server 101, the type of IoT_Element 501, which is a component corresponding to the smart object, is set to VPO 503 [Fig. 9 ②].

(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 IoT_Element 501 is published to the system as an Agent 504, a virtual object unit that provides services. To define its name, an agent instance 504 is created (eg, SmartFridgeAgent, VPOAgent) [ Fig. 9 ④].

(5) IoT_Element(501)와 앞서 생성된 에이전트 인스턴스(504)를 exposedAs 관계(505)를 통해 연결한다(예: SmartFridge-exposedAs-SmartFridgeAgent)[도 9 ⑤].(5) The IoT_Element 501 and the previously created agent instance 504 are connected through the exposedAs relationship 505 (eg, SmartFridge-exposedAs-SmartFridgeAgent) [Fig. 9 ⑤].

(6) 각 Agent(504)는 하나 이상의 Service(506)를 제공 할 수 있다. 예를 들어, 스마트 냉장고는 스마트 쿨링 및 요리 메뉴 추천 서비스를 제공할 수 있다. 이렇게 해당 스마트 오브젝트가 제공하는 서비스를 서비스 온톨로지 인스턴스(506)로 생성한다[도 9 ⑥].(6) Each Agent 504 may provide one or more Services 506. For example, a smart refrigerator may provide smart cooling and cooking menu recommendation services. In this way, the service provided by the corresponding smart object is created as a service ontology instance 506 [Fig. 9 ⑥].

(7) 에이전트 인스턴스(504)와 그 에이전트가 제공하는 서비스 인스턴스(506)들을 providesService 관계(507)를 통해 연결한다(예: SmartFridgeAgent-providesService-SmartCooling)[도 9 ⑦].(7) An agent instance 504 and service instances 506 provided by the agent are connected through a providedService relationship 507 (eg, SmartFridgeAgent-providesService-SmartCooling) [Fig. 9 ⑦].

위와 같은 과정을 통해 특정 스마트 오브젝트의 역할이 경량화 서버(101)인지 아니면 일반 스마트 오브젝트(102, 103, 104)인지, 그 스마트 오브젝트가 제공하는 기능이 무엇인지 등에 관한 정보를 온톨로지상에 정의함에 따라, 다른 스마트 오브젝트들이 그 스마트 오브젝트의 역할과 제공 서비스를 이해하고 이를 활용할 수 있게 된다.Through the above process, information about whether the role of a specific smart object is the lightweight server 101 or general smart objects (102, 103, 104), and what functions the smart object provides is defined on the ontology. In other words, other smart objects can understand the role and services of the smart object and utilize them.

2.2. 상황정보 온톨로지(403)Context information ontology (403)

상황정보 온톨로지(403)는 각 서비스가 생성 또는 수집하는 상황정보에 대한 체계를 정립하는 온톨로지이다. 가장 상위 개념은 Context(701)로, 여기에는 사용자가 인지하는 SocialContext(702), 온도, 습도, 조도와 같은 EnvironmentalContext(703), 날짜 등을 표현하는 TemporalContext(704), 그리고 현재 서비스의 상태를 표현하는 Status(705) 등의 하위 Context들이 임의로 정의될 수 있다. The context information ontology 403 is an ontology that establishes a system for context information generated or collected by each service. The highest concept is Context (701), which includes SocialContext (702) recognized by the user, EnvironmentalContext (703) such as temperature, humidity, and illumination, TemporalContext (704) that expresses the date, and current service status. Sub-Contexts, such as Status 705, can be arbitrarily defined.

스마트 오브젝트(102, 103, 104)는 수행하는 작업의 특성에 따라, 단순히 상황 정보의 생성만을 수행하는 경우와, 생성되는 상황정보를 수집하여 이를 해석하거나 그 상황정보를 기반으로 스마트 서비스를 제공해주는 경우로 구분될 수 있다. 온도, 습도, 조도 센서 등이 전자의 예이고, 현재 공간의 사용자 재실 상태를 기반으로 빛의 밝기를 조절해주는 스마트 전등 등이 후자의 예이다. 도 10은 이러한 스마트 오브젝트(102, 103, 104)가 생성 또는 수집하는 상황정보를 온톨로지로 작성하는 절차를 나타내는 도면이다.The smart objects 102, 103, and 104, depending on the characteristics of the work to be performed, simply create contextual information, collect and interpret generated contextual information, or provide smart services based on the contextual information. cases can be distinguished. Temperature, humidity, and illuminance sensors are examples of the former, and smart lights that adjust the brightness of light based on the user's occupancy status in the current space are examples of the latter. FIG. 10 is a diagram illustrating a procedure of creating an ontology for context information generated or collected by the smart objects 102, 103, and 104.

(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 smart objects 102, 103, and 104 that generate context information create the context information they create as ontology instances 701 together with the types of context information 702, 703, and 704 (eg: Temperature-type-EnvironmentalContext) [Fig. 10 ④].

(4) 본 스마트 오브젝트가 제공하는 서비스(506)와 그 스마트 오브젝트가 생성하는 상황 정보(701)를 updates 관계(706)를 통해 연결 함으로써 다른 서비스 개발자들이 이 정보를 활용하여 새로운 서비스 룰을 작성할 수 있도록 해준다. 예를 들어, TemperatureReportingService-updates-Temperature의 관계가 공유 될 경우, 온도 정보를 활용할 수 있다는 정보가 공개되었기 때문에 다른 서비스 개발자들은 현재 공간의 온도 값에 기반 하여 에어컨 난방 온도를 자동으로 조절해주는 서비스 룰을 작성할 수 있다[도 10 ⑤].(4) By connecting the service 506 provided by this smart object and the situation information 701 generated by the smart object through the updates relationship 706, other service developers can create new service rules using this information. it allows For example, when the relationship of TemperatureReportingService-updates-Temperature is shared, since the information that temperature information can be used has been disclosed, other service developers have developed service rules that automatically adjust the heating temperature of the air conditioner based on the temperature value of the current space. It can be written [Fig. 10 ⑤].

(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 context information ontology 403, the corresponding type is created in the ontology as a subclass of the Context class [Fig. 10 ⑧].

(7) 상황정보를 수집하는 스마트 오브젝트들(102, 103, 104)은 본인이 수집하고자 하는 상황정보를 상황정보의 타입(702, 703, 704)과 함께 상황정보 온톨로지 인스턴스(701)로 생성해야 한다 (예: Temperature-type-EnvironmentalContext)[도 10 ⑨].(7) The smart objects 102, 103, and 104 that collect contextual information should create contextual information ontology instances 701 together with the types of contextual information 702, 703, and 704 that they want to collect. (Example: Temperature-type-EnvironmentalContext) [Fig. 10 ⑨].

(8) 스마트 오브젝트의 서비스(506)와 그 서비스가 수집하는 상황 정보(701)를 hasInterest 관계(707)를 통해 연결함으로써 현재 공간에서 공유되는 해당 정보를 받아볼 수 있게 명시해준다. 예를 들어, 앞서 [도 10 ⑤]에서 예시한 자동 난방 온도 조절 서비스의 경우, AutoAirconTempControlService-hasInterest-Temperature 의 관계를 설정함으로써 현재 공간에서 온도 값이 갱신될 때마다 그 값을 받아서 활용할 수 있다[도 10 ⑩].(8) By connecting the service 506 of the smart object and the context information 701 collected by the service through the hasInterest relationship 707, it is specified that the corresponding information shared in the current space can be received. For example, in the case of the automatic heating temperature control service illustrated in [Fig. 10 ⑤], the value can be received and used whenever the temperature value is updated in the current space by setting the relationship of AutoAirconTempControlService-hasInterest-Temperature [Fig. 10 ⑩].

상황정보를 표현하는 구체적인 자료구조와 관련하여, 상황 정보는 트리플이라는 자료구조를 기반으로 표현될 수 있다. 각 트리플은 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 ontology instance 701 of related context information, an instance of the service function ontology 404 should be created as a specification for the corresponding function of the smart object service. Other service developers can refer to this information to find out what service functions are being provided in the current space and refer to them in their own service development process.

서비스 기능 온톨로지(404)의 작성 방법은 도 11에 나타나 있다. 서비스 기능 온톨로지(404) 작성의 주체도, 앞서 도 9, 도 10과 마찬가지로, 그 행동의 주체에 관한 특별한 언급이 없는 한, 해당 스마트 오브젝트 서비스의 개발자이다.A method of creating a service function ontology 404 is shown in FIG. 11 . The subject of creation of the service function ontology 404 is also the developer of the corresponding smart object service, as in FIGS.

(1) 본 스마트 오브젝트 서비스(506)가 사용자가 인지하는 레벨(예: 불 켜기, 창문 열기, 에어컨 켜기 등)의 기능(Function)(601)을 하나 이상 제공하는 경우, 이에 대한 명세를 서비스 기능 온톨로지 인스턴스(601) 형태로 작성한다[도 11 ①].(1) If this smart object service 506 provides one or more Functions 601 at a user-recognized level (eg, turning on lights, opening windows, turning on air conditioners, etc.), the details of these functions are provided. It is created in the form of an ontology instance 601 [Fig. 11 ①].

(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 service 506 as an ontology instance 601, the relationship of Service(506)-providesFunctionality(602)-Functionality(601) is set (e.g. RoomCoolingService -providesFunction-TurnOnAircon) [Fig. 11 ②].

(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 function 601 provided by the service 506 is implemented in the form of a method 603 in a program, and the function instance 601 and the method instance 603 are connected through a hasMethod relationship 604. The definition of hasMethod relationship 604 can be used for method reflection in the future. For example, if a method called turnOn (603) is implemented in the air conditioner service and a relationship called RoomCooling (601)-hasMethod (604)-turnOn (603) is defined, the RoomCooling function (601) in which the user lowers the room temperature When requesting the execution of , this is connected to the turnOn method 603 of the air conditioner, and the turnOn method 603 can be automatically executed [Fig. 11 ③].

(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 service function 601 can have such an option 605 [Fig. 11 ④].

(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 various options 605 exist for the service function 601, the specification of how each option 605 should be given must also be written as an ontology (607). For example, in the case of StrongCooling above, it is necessary to define whether the input value is a numeric type such as 1, 2, or 3 or a string type such as “strong/medium/low” (607). Specifications written in this way can be referred to by the smart object that performs the function when the user requests the execution of the corresponding function [FIG. 11 ⑥].

(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 task instance 801 containing information of smart objects necessary to perform the determined task, that is, information related to collaboration for task performance, will be described.

경량화 서버(101) 개발자는 어떤 상황에서 사용자가 어떤 태스크를 수행하고자 하며, 또 각 태스크는 어떤 스마트 오브젝트의 기능으로 지원될 수 있는지에 대한 정보를 경량화 서버(101)의 지식 기반으로써 구축해 주어야 한다. 이는 도 8에 나타난 태스크 온톨로지(402)의 구조 및 그 외 관련된 온톨로지 개념들을 기반으로 구축할 수 있고, 도 13은 그 구축 방법을 나타내는 도면이다. 이하, 도 13을 이용하여 그 방법을 설명하면 다음과 같다.The developer of the lightweight server 101 needs to build information about which task the user wants to perform in a certain situation and which smart object function can be supported as a knowledge base of the lightweight server 101. This can be built based on the structure of the task ontology 402 shown in FIG. 8 and other related ontology concepts, and FIG. 13 is a diagram showing the construction method. Hereinafter, the method will be described using FIG. 13 as follows.

(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 task 801 and the user activity ontology instance 802 are connected through the composedOf relationship 803 to define which activity the user performs or should perform for each task (e.g., Task-composedOf -Cleaning, Task-composedOf-DisplayingSlide) [FIG. 13 ③].

(4) 각 사용자 액티비티(802) 별로 어떤 스마트 오브젝트 서비스(506)의 기능(601)이 그를 지원해줄 수 있는지 파악한다[도 13 ④]. 여기서 '기능(601)'과 '사용자 액티비티(802)'의 개념을 비교하면, '기능(601)'이란 전원 on, off와 같이 각 스마트 오브젝트에서 일어나는 개별적 작동을 말하고, '사용자 액티비티(802)'란 불 켜기, 창문 열기, 에어컨 켜기 등과 같이 스마트 오브젝트의 위 '기능'을 사용자의 관점에서 바라본 개념이다.(4) For each user activity 802, which smart object service 506 function 601 can support it is identified [FIG. 13 ④]. Here, comparing the concepts of 'function 601' and 'user activity 802', 'function 601' refers to individual operations that occur in each smart object, such as power on and off, and 'user activity 802 ' is a concept of the above 'function' of a smart object, such as turning on a light, opening a window, or turning on an air conditioner, from the user's point of view.

(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 task ontology instance 801 determines which activity 802 or function 506 a task is composed of, and which smart object 501 (or service 506) supporting such function 506 is. It stores information about relational characteristics such as existence of a link in the form of a link. By following these links, the server 101 can perform logical reasoning about which smart object service each task is composed of, and can lead the result of the reasoning to collaboration between smart objects to perform actual tasks. there is. That is, when a command to perform a specific task is issued by the user or by the server 101's own judgment based on the situation information, the server 101 examines the above link to determine which activity 802 should be performed, After determining the function 601 to be executed to perform the activity 802 and the service 506 providing the function, each smart object 501 providing the corresponding service 506 is provided with the corresponding service. By requesting the execution of step 506, collaboration in units of tasks consisting of the operation of several smart objects can be drawn.

이하에서는, 본 발명의 일 실시예에 따른, 위와 같은 구조의 온톨로지를 기반으로 하는 사물인터넷 시스템의 구현 및 작동 예를 보다 구체적으로 설명한다.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 smart objects 102, 103, and 104 are located in a seminar room or a rest room. The composition, type and classification of smart objects present in each place, user tasks that can be performed at each place, and examples of functions for each smart object to be provided to perform the task are summarized in a table as follows.

Figure 112016033375327-pat00002
Figure 112016033375327-pat00002

본 실시예는 설명의 편의를 위하여 경량화 서버(101)가 그와 동일한 '장소'에 위치한 스마트 기기들을 관할하는 상황을 가정하였으나, 하나의 서버가 관할하는 스마트 기기들의 범위가 물리적인 '장소'로 한정될 필요는 없다.In this embodiment, for convenience of description, it is assumed that the lightweight server 101 has jurisdiction over smart devices located in the same 'place', but the range of smart devices managed by one server is a physical 'place'. need not be limited.

사물인터넷 시스템 개발자 또는 각 스마트 오브젝트 서비스 개발자는 위 표 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 smart object Ontology 403 instance, service function ontology 404 instance related to service functions provided by the smart object, and Internet of Things Ontology 401 instance and context information A mutual relationship between the ontology 403 instance and the service function ontology 404 instance is created. Furthermore, when the smart object serves as the lightweight server 101, a user task, an activity constituting each task, and a task ontology 402 instance for each smart object function to be provided to perform the task are also created.

본 실시예의 온톨로지 구조 및 그에 따른 각 온톨로지 인스턴스를 구현 및 생성하기 위해 사용 가능한 온톨로지 언어 및 온톨로지 개발툴은 다양하다. 온톨로지 언어로는 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 lightweight server 101 as service descriptions for the smart object. 12 is a diagram showing the process. After the lightweight server 101 or smart object service developer creates the Internet of Things ontology instance 501 for the identity of each smart object 102, 103, 104 [Fig. 12 ①], the range of instances to be additionally created is It depends on the role of each smart object. If the role is the lightweight server (VPO) 101, an instance of the task ontology 402 should be created [Fig. 12 ②]. However, in the case of general smart objects (102, 103, 104) other than the lightweight server 101, when context information is created and collected, an instance of the context information ontology 403 is created [Fig. 12 ③, ④], and the service function If is provided, an instance of the service function ontology 404 is created [Fig. 12 ⑤]. Instances created in this way are transmitted to the lightweight server 101 as service specifications for the smart object [Fig. 12 ⑥]. The delivery of these service specifications may be directly transmitted to the lightweight server 101 by the developer or a method in which the lightweight server 101 itself collects from smart objects is also possible.

위 과정을 거쳐 전달된 온톨로지 인스턴스들은 스마트 오브젝트들의 서비스 명세로서 현재 공간에 어떤 기능을 하고 어떤 상황 정보를 생성하는 스마트 오브젝트 서비스들이 존재하는지에 대한 정보를 가지고 있다. 따라서 이러한 서비스 명세를 저장하는 경량화 서버(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 lightweight server 101 that stores these service specifications can configure user tasks covering multiple service domains based on function information of each service. For example, if a smart air conditioner providing a function to maintain a room at an appropriate temperature, a smart projector providing a presentation function, and a smart light fixture providing a lighting control function deliver service specifications, the lightweight server 101 bundles them together. You can configure a user task called “Have a team meeting”. These user tasks may be directly configured by a system or lightweight server developer, but the lightweight server 101 may configure itself through reasoning when an interaction history with a user is sufficiently accumulated. That is, the lightweight server 101 stores the context information of interest from surrounding smart objects, and based on this, records the user interaction history of how a specific user behaved in a certain situation, and then based on this, the user in a specific situation After constructing action or task information by itself, when a specific situation is recognized in the future, smart object services suitable for performing the task can be automatically called.

위와 같은 과정을 거쳐 위 [표 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 lightweight server 101 in charge of the seminar room, respectively, or the integrated control module in charge of the break room. A process of providing a service corresponding to a task to be performed by a user after being transmitted as a service specification to the smart TV, which is the server 101, will be described as follows.

사용자가 수행할 태스크를 결정하는 방법은, 사용자가 서버(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 server 101 and issue an execution command, or the server 101 may infer and determine the user's intention to perform the task based on context information. there is.

먼저 사용자가 서버(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 server 101 will be described. When a user enters the lounge and commands the smart TV of the server 101 in charge of the IoT system in the lounge to perform a 'watching movie' task, the server 101 generates a task ontology instance 801 corresponding to the viewing movie task. ) and that the activity instance 802 connected to the task through the composedOf relationship 803 has the functions of turning on the smart TV, changing the screen input mode to a video playback image source, playing a video file, turning on the air conditioner, and adjusting the brightness of the lights. figure out Afterwards, the Functionality instance 601 connected to each of the above activity instances 802 through the supportedBy (804) relationship is identified, and the service instance 506 connected to each Functionality instance 601 through the providedFunctionality relationship 602 is identified, Furthermore, IoT_Element instance 501 connected to service instance 506 through providedService relationship 507 and exposedAs relationship 505 is traced. Through this process, the server 101 can identify the smart object 501 capable of providing the service 506 corresponding to each activity instance 802 constituting the 'watching a movie' task, A service provision request can be sent to the smart object 501 .

서버(101)로부터 위 서비스 제공요청을 받은 각각의 스마트 오브젝트(501)는 사용자에게 해당 서비스를 바로 제공할 수도 있지만, 서버(101)를 거쳐 다른 스마트 오브젝트(102, 103, 104)로부터 획득한 상황정보 및 각 스마트 오브젝트(501)가 그동안 사용자와 상호작용했던 이력을 바탕으로 서비스의 구체적인 내용을 결정하여 제공, 즉 사용자에게 개인화된 서비스를 제공할 수도 있다. 예를 들어 '영화보기' 태스크 수행 명령에 따라 서버(101)로부터 스마트 오브젝트의 하나인 전등에 대하여 밝기 조절 서비스를 제공하라는 요청이 전달된 경우, 전등은 그동안 사용자가 영화를 볼 때 주로 설정했었던 밝기를 전등 내부 저장부(302)에 저장된 사용자 상호작용 이력으로부터 파악하여 그에 해당하는 밝기로 전등 밝기를 조절할 수 있다. 이처럼 서비스 제공 요청을 받은 스마트 오브젝트(501) 각각이 자체적인 판단에 의해 사용자에게 개인화된 서비스를 제공하게 되면, 모든 판단을 서버(101)에서 하는 시스템에 비해 그 판단 능력이 분산됨에 따라 기존의 중앙집중식 사물인터넷 시스템의 단점인 단일 고장점 문제를 완화하면서도 지능적인 서비스의 제공이 가능하게 된다.Each smart object 501 receiving the above service provision request from the server 101 may directly provide the service to the user, but the situation obtained from other smart objects 102, 103, and 104 via the server 101 Based on the information and the history of each smart object 501's interaction with the user so far, specific contents of the service may be determined and provided, that is, a personalized service may be provided to the user. For example, when a request to provide a brightness control service for a light, which is one of the smart objects, is transmitted from the server 101 according to a command to perform a 'watch a movie' task, the light is set to a brightness that has been set mainly by the user while watching a movie. The brightness of the lamp may be adjusted to the brightness corresponding to the user interaction history stored in the internal storage unit 302 of the lamp. In this way, when each smart object 501 that has received a service provision request provides a personalized service to the user by its own judgment, compared to a system in which all judgments are made in the server 101, the judgment ability is distributed, so that the existing central It is possible to provide intelligent services while mitigating the single point of failure problem, which is a disadvantage of centralized IoT systems.

다음으로, 사용자가 수행할 태스크를 결정하는 다른 방법으로서, 사용자로부터의 직접적인 명령 없이, 상황정보를 바탕으로 서버(101)가 사용자의 태스크 수행 의도를 추론하여 결정하는 방법을 설명한다. 이는 그 추론의 기반이 되는 구조를 설정하는 방법과 함께 설명한다. 추론의 기반이 되는 구조를 설정하는 방법은 도 14에 나타나 있다.Next, as another method for determining the task to be performed by the user, a method for the server 101 to infer and determine the user's intention to perform the task based on context information without a direct command from the user will be described. This is explained along with how to set up the structure on which the reasoning is based. A method of setting a structure that is the basis of reasoning is shown in FIG. 14 .

사용자의 태스크 수행 의도는 주변의 상황에 따라 가변적이기 때문에 이런 가변성이 온톨로지 설계에 반영되어야 한다. 이러한 목적 달성을 위해서 본 발명에서는 태스크 온톨로지(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 lightweight server 101 always collects the user's task performance history in order to utilize it to determine the user's intention. In order to understand how the user's intention to perform the task varies depending on the situation, the accumulated user interaction data is analyzed [Fig. 14 ①].

(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 ontology instance 701 of Context type [Fig. 14 ②].

(3) 생성된 상황정보 인스턴스(701)를 태스크가 수행 된 장소와 연관짓기 위해 hasContext의 관계(807)를 정의한다(예: SeminarRoom-hasContext-Temperature, SeminarRoom-hasContext-PresentUserCount)[도 14 ③].(3) In order to associate the created situation information instance 701 with the place where the task was performed, a hasContext relationship 807 is defined (e.g., SeminarRoom-hasContext-Temperature, SeminarRoom-hasContext-PresentUserCount) [Fig. 14 ③] .

(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 type ontology instance 801, and the user 805, place 806, contextual information 701, task 801 ) is connected in the relationship of User (805)-locatedIn (808)-Place (806), User (805)-conducts (809)-Task (801) [Fig. 14 ④].

(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 placeness 810 in one embodiment of the present invention (e.g., meeting rooms are various places such as meetings, meals, phone calls, and group studies depending on the case). surname) [Fig. 14 ⑤].

위와 같은 장소성(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 placeness 810 . Therefore, the ontologies created through the relationship of hasContext (807), locatedIn (808), and conducts (809) are collectively defined as the concept of placeness (810) that the user has. For example, if a specific user listens to music in a conference room on a rainy day, the user may perceive the situation of the conference room on a rainy day as a placeness of a music listening room.

(6) 장소성에 대한 온톨로지 인스턴스(810)를 생성한 후 User(805)-hasPlaceness(811)-Placeness(810)의 관계로 연결 해준다[도 14 ⑥].(6) After creating an ontology instance 810 for placeness, it is connected in the relationship of User(805)-hasPlaceness(811)-Placeness(810) [Fig. 14 ⑥].

(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 server 101 in charge of a break room, collecting user A's task performance history and the corresponding situation information history for a certain period of time and analyzing the task performance history, 'Every rainy day, user A When it is identified that 'I listened to music in the conference room', the "Task-User-Place-Context" relationship for this user, "Listening to music-User A-Conference room-Rainy day", is the Placeness of "Listening to music" for User A. 811, and in the future, when user A enters the meeting room on a rainy day, the server 101, Smart TV, uses the above information to determine that the placeness is a "music listening room" and the task associated with the placeness. A command to perform the “listen to music” task may be given through reasoning. In this way, when the server 101 infers the task itself, even if the user does not directly issue a task execution command, the service desired by the user is automatically provided by the various smart objects 102, 103, and 104 in cooperation, so in terms of user convenience It works great.

위에서 사용자의 태스크 수행 이력을 분석하여 사용자의 태스크 수행 의도에 영향을 주는 것으로 판단되는 상황정보를 인지하고, 이러한 분석 결과를 토대로 향후 실시간으로 수집되는 상황정보로부터 사용자의 태스크 수행 의도를 추론하는 데 사용되는 방법으로는 룰(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 smart object 501 requested to provide a service to perform a task will be described.

태스크 수행을 위한 스마트 오브젝트들의 협업을 관장하는 서버(101)로부터 서비스 제공 요청을 받은 각 스마트 오브젝트들(501)은 단순히 요청받은 서비스를 기계적으로 제공해 주는 것이 아니라, 그동안의 사용자와의 상호작용 이력 정보로부터 그 사용자에게 개인화된 서비스를 제공할 수 있다. 이처럼 사용자에 대해 각 스마트 오브젝트의 서비스 제공 방식을 개인화하기 위해서는 각 스마트 오브젝트가 사용자와의 상호작용 이력을 수집해야 하고, 수집되어 누적된 사용자의 상호작용 이력 정보로부터 유의미한 패턴을 찾아 이를 사용자의 기호로써 학습해 두어야 한다.Each of the smart objects 501 received a service provision request from the server 101 that manages the collaboration of smart objects for task performance does not simply provide the requested service mechanically, but also provides information on the interaction history with the user in the meantime. It is possible to provide a personalized service to the user from In this way, in order to personalize the service provision method of each smart object for the user, each smart object must collect the interaction history with the user, find a meaningful pattern from the collected and accumulated user interaction history information, and use it as the user's preference. have to learn

패턴의 발견 및 학습을 위해서는 다양한 기법이 적용될 수 있는데, 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 server 101 according to an embodiment of the present invention. The control method includes the steps of storing information about a plurality of tasks provided for each user's behavior and information about a plurality of services that at least one electronic device can perform (S1501), and from the at least one electronic device. Receiving situation information (S1502), determining a task corresponding to the user's behavior indicated by the received situation information from among the plurality of tasks (S1503), and determining a task corresponding to the determined task among the at least one electronic device. and transmitting information about the service to a first electronic device capable of providing the service (S1504).

도 16은 본 발명의 일 실시예에 따른 전자기기(102, 103, 104)의 제어방법을 나타내는 도면이다. 상기 제어방법은 상황정보를 저장하는 단계(S1601)와, 서버로부터 서비스에서 관한 정보를 수신하는 단계(S1602) 및 상기 저장된 상황정보를 바탕으로 상기 수신한 서비스의 내용을 결정하여 제공하는 단계(S1603)를 포함한다.16 is a diagram illustrating a control method of electronic devices 102, 103, and 104 according to an embodiment of the present invention. The control method includes a step of storing situation information (S1601), a step of receiving information about a service from a server (S1602), and a step of determining and providing the contents of the received service based on the stored situation information (S1603). ).

이상에서 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다. 그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 특허청구범위의 범위에 속한다고 할 것이고, 본 개시 방법들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다.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.
삭제delete 제1항에 있어서,
상기 처리부는 태스크 이력 정보에 기초하여 상기 태스크 및 상기 태스크에 대응하는 적어도 하나의 상기 서비스에 관한 정보를 생성하여 상기 저장부에 저장하는 것을 특징으로 하는 서버.
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.
삭제delete 제1항에 있어서,
상기 복수의 태스크는 장소 별로 분류되는 것을 특징으로 하는 서버.
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.
제6항에 있어서,
상기 제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.
삭제delete 서버와 적어도 하나의 전자기기로 구성된 사물인터넷 시스템에 있어서,
상기 서버는,
복수의 태스크에 관한 정보와, 상기 적어도 하나의 전자기기가 제공할 수 있는 복수의 서비스에 관한 정보를 저장할 수 있는 저장부; 및
사용자 입력을 수신하고, 상기 복수의 태스크 중에서 상기 수신된 사용자 입력에 대응하는 태스크를 결정하고, 상기 적어도 하나의 전자기기 중에서 상기 결정된 태스크에 대응하는 상기 서비스를 제공할 수 있는 제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. .
삭제delete 제9항의 서버에 있어서,
상기 처리부는 태스크 이력 정보에 기초하여 상기 태스크 및 상기 태스크에 대응하는 적어도 하나의 상기 서비스에 관한 정보를 생성하여 상기 저장부에 저장하는 것을 특징으로 하는 사물인터넷 시스템.
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.
삭제delete 제9항의 서버에 있어서,
상기 복수의 태스크는 장소 별로 분류되는 것을 특징으로 하는 사물인터넷 시스템.
In the server of claim 9,
The IoT system, characterized in that the plurality of tasks are classified by location.
제9항의 전자기기에 있어서,
상기 제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.
삭제delete
KR1020160042363A 2016-04-06 2016-04-06 A Distributed IoT System based on distributed ontology structure for Task-driven Smart Objects Collaboration KR102485645B1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
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