[go: up one dir, main page]

KR102573591B1 - IoT 환경에서의 사용자 중심의 상황 인식 서비스 제공 방법 및 시스템 - Google Patents

IoT 환경에서의 사용자 중심의 상황 인식 서비스 제공 방법 및 시스템 Download PDF

Info

Publication number
KR102573591B1
KR102573591B1 KR1020210134002A KR20210134002A KR102573591B1 KR 102573591 B1 KR102573591 B1 KR 102573591B1 KR 1020210134002 A KR1020210134002 A KR 1020210134002A KR 20210134002 A KR20210134002 A KR 20210134002A KR 102573591 B1 KR102573591 B1 KR 102573591B1
Authority
KR
South Korea
Prior art keywords
service
user
iot
context
iot devices
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
KR1020210134002A
Other languages
English (en)
Other versions
KR20230050784A (ko
Inventor
박상오
김관희
이재환
남상혁
조민규
Original Assignee
중앙대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 중앙대학교 산학협력단 filed Critical 중앙대학교 산학협력단
Priority to KR1020210134002A priority Critical patent/KR102573591B1/ko
Publication of KR20230050784A publication Critical patent/KR20230050784A/ko
Application granted granted Critical
Publication of KR102573591B1 publication Critical patent/KR102573591B1/ko
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context
    • 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/104Peer-to-peer [P2P] networks
    • H04L67/1042Peer-to-peer [P2P] networks using topology management mechanisms
    • 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/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • 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
    • 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/52Network services specially adapted for the location of the user terminal
    • 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/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Telephonic Communication Services (AREA)
  • Computer And Data Communications (AREA)

Abstract

본 발명은 IoT 환경에서의 사용자 중심의 상황 인식 서비스 제공 방법에 관한 것이다. IoT 환경에서의 사용자 중심의 상황 인식 서비스 제공 방법은, 복수의 IoT 장치로부터 복수의 IoT 장치와 연관된 정보 및 사용자 정보를 포함하는 로우 데이터를 수신하는 단계, 수신된 로우 데이터를 기초로 사용자의 상황과 연관된 하이 레벨의 상황 인식 정보를 생성하는 단계, 생성된 하이 레벨의 상황 인식 정보가 서비스 제공을 위해 요구되는 서비스 조건을 만족하는지 여부를 판정하는 단계 및 서비스 조건을 만족하는 것으로 판정되는 경우, 사용자와 연관된 하나 이상의 IoT 장치에서 상기 서비스 조건을 만족하는 서비스를 실행하는 단계를 포함한다.

Description

IoT 환경에서의 사용자 중심의 상황 인식 서비스 제공 방법 및 시스템{METHOD AND SYSTEM FOR PROVIDING USER-CENTRIC CONTEXT AWARE SERVICE IN INTERNET OF THINGS ENVIRONMENT}
본 발명은 IoT 환경에서의 사용자 중심의 상황 인식 서비스 제공 방법 및 시스템에 관한 것으로, 구체적으로, 사용자의 위치 근방의 IoT 장치들을 이용하여 사용자 중심의 상황 인식 서비스를 제공하는 방법 및 시스템에 관한 것이다.
최근 컴퓨터, 스마트폰 등과 같은 유비쿼터스 단말 전반에 걸쳐 장치 및 사람을 연결하는 IoT(Internet of Things) 환경이 구현되고 있다. 이와 같은 IoT 환경에서는 사람 및/또는 장치들 간의 통신을 지원할 수 있으며, 이에 따라, 사람 및/또는 장치들 간의 상호작용을 통해 다양한 서비스가 제공될 수 있다.
예를 들어, 기존의 많은 IoT 플랫폼은 온수 관리, 기상 정보 서비스, 스마트 홈, 스마트 빌딩, 수면 관리 등 다양한 분양에서 메시 서비스(mesh service)를 제공하고 있다. 그러나, 이와 같은 서비스들은 사용자의 현재 상태, 위치 등을 고려하지 않고 제공될 수 있을 뿐이다. 따라서, 진정한 IoT 환경을 구현하기 위해 실시간으로 사용자 상황을 분석하고, 분석된 정보를 기초로 사용자 중심의 원활한 상황 인식 서비스가 제공될 필요가 있다.
본 발명은 상기와 같은 문제점을 해결하기 위한 IoT 환경에서의 사용자 중심의 상황 인식 서비스 제공 방법, 컴퓨터 판독 가능 매체에 저장된 컴퓨터 프로그램 및 시스템(장치)을 제공한다.
본 발명은 방법, 시스템(장치), 컴퓨터 판독 가능 매체에 저장된 컴퓨터 프로그램 또는 컴퓨터 프로그램이 저장된 컴퓨터 판독 가능 매체를 포함한 다양한 방식으로 구현될 수 있다.
본 발명의 일 실시예에 따르면, 적어도 하나의 프로세서에 의해 수행되는 IoT 환경에서의 사용자 중심의 상황 인식 서비스 제공 방법은, 복수의 IoT 장치로부터 복수의 IoT 장치와 연관된 정보 및 사용자 정보를 포함하는 로우 데이터를 수신하는 단계, 수신된 로우 데이터를 기초로 사용자의 상황과 연관된 하이 레벨의 상황 인식 정보를 생성하는 단계, 생성된 하이 레벨의 상황 인식 정보가 서비스 제공을 위해 요구되는 서비스 조건을 만족하는지 여부를 판정하는 단계 및 서비스 조건을 만족하는 것으로 판정되는 경우, 사용자와 연관된 하나 이상의 IoT 장치에서 서비스 조건을 만족하는 서비스를 실행하는 단계를 포함한다.
본 발명의 일 실시예에 따르면, 서비스를 실행하는 단계는, 사용자가 이용하는 서비스 목록을 검색하여, 사용자가 서비스 조건을 만족하는 서비스를 이용하는지 여부를 판정하는 단계, 서비스를 이용하는 것으로 판정된 경우, 서비스를 실행하기 위한 서비스 실행 정보를 결정하는 단계 및 결정된 서비스 실행 정보를 기초로 사용자와 연관된 하나 이상의 IoT 장치에서 서비스 조건을 만족하는 서비스를 실행하는 단계를 포함한다.
본 발명의 일 실시예에 따르면, 수신된 로우 데이터를 기초로 사용자의 상황과 연관된 하이 레벨의 상황 인식 정보를 생성하는 단계는, 로우 데이터의 데이터 포맷을 변환하여 로우 레벨의 상황 인식 정보를 생성하는 단계 및 로우 레벨의 상황 인식 정보를 기초로 사용자와 연관된 대상, 시기, 장소 및 목적을 포함하는 사용자의 상황과 연관된 하이 레벨의 상황 인식 정보를 생성하는 단계를 포함한다.
본 발명의 일 실시예에 따르면, 복수의 IoT 장치의 위치 정보를 포함하는 동적 메시 네트워크를 생성하는 단계 및 동적 메시 네트워크를 이용하여 사용자의 위치로부터 미리 정해진 거리 이내에 포함된 하나 이상의 IoT 장치를 결정하는 단계를 더 포함한다.
본 발명의 일 실시예에 따르면, 동적 메시 네트워크를 생성하는 단계는, 새로운 제1 IoT 장치가 검색된 경우, 제1 IoT 장치와 복수의 IoT 장치의 각각에 대한 제1 최단 이동 거리를 결정하는 단계 및 결정된 제1 최단 이동 거리에 따라 제1 IoT 장치 및 복수의 IoT 장치에 대한 연결을 재구성하여 동적 메시 네트워크를 생성하는 단계를 포함한다.
본 발명의 일 실시예에 따르면, 동적 메시 네트워크를 생성하는 단계는, 복수의 IoT 장치에 포함된 제2 IoT 장치가 제거된 경우, 제2 IoT 장치에 대한 연결을 제거하는 단계, 제2 IoT 장치가 제거된 복수의 IoT 장치의 각각에 대한 제2 최단 이동 거리를 결정하는 단계 및 결정된 제2 최단 이동 거리에 따라 제2 IoT 장치가 제거된 복수의 IoT 장치의 각각에 대한 연결을 재구성하여 동적 메시 네트워크를 생성하는 단계를 포함한다.
본 발명의 일 실시예에 따른 상술된 방법을 컴퓨터에서 실행하기 위해 컴퓨터 판독 가능한 기록 매체에 저장된 컴퓨터 프로그램이 제공된다.
본 발명의 일 실시예에 따른 사용자 중심의 상황 인식 시스템은, 복수의 IoT 장치로부터 복수의 IoT 장치와 연관된 정보 및 사용자 정보를 포함하는 로우 데이터를 수신하는 통신부, 수신된 로우 데이터를 로우 데이터 DB에 저장하는 장치 관리부 및 로우 데이터 DB에 저장된 로우 데이터를 기초로 사용자의 상황과 연관된 하이 레벨의 상황 인식 정보를 생성하고, 생성된 하이 레벨의 상황 인식 정보를 상황 DB에 저장하는 상황 관리부를 포함한다.
본 발명의 일 실시예에 따르면, 상황 관리부는, 로우 데이터의 데이터 포맷을 변환하여 로우 레벨의 상황 인식 정보를 생성하고, 로우 레벨의 상황 인식 정보를 기초로 사용자와 연관된 대상, 시기, 장소 및 목적을 포함하는 사용자의 상황과 연관된 하이 레벨의 상황 인식 정보를 생성한다.
본 발명의 일 실시예에 따르면, 상황 관리부는, 생성된 하이 레벨의 상황 인식 정보가 서비스 제공을 위해 요구되는 서비스 조건을 만족하는지 여부를 판정하고, 서비스 조건을 만족하는 것으로 판정되는 경우, 사용자가 이용하는 서비스 목록을 전송한다.
본 발명의 일 실시예에 따르면, 서비스 목록을 검색하여, 사용자가 서비스 조건을 만족하는 서비스를 이용하는지 여부를 판정하고, 서비스를 실행하기 위한 서비스 실행 정보를 전송하는 서비스 관리부를 더 포함한다.
본 발명의 일 실시예에 따르면, 서비스 실행 정보를 수신하는 경우, 동적 메시 네트워크를 이용하여 사용자의 위치로부터 미리 정해진 거리 이내에 포함된 하나 이상의 IoT 장치를 결정하고, 장치 관리부로 서비스를 실행하기 위한 서비스 실행 정보를 전송하는 토폴로지 제어부를 더 포함한다.
본 발명의 일 실시예에 따르면, 장치 관리부는, 사용자와 연관된 하나 이상의 IoT 장치에서 서비스 조건을 만족하는 서비스를 실행한다.
본 발명의 일 실시예에 따르면, 토폴로지 제어부는, 복수의 IoT 장치의 위치 정보를 포함하는 동적 메시 네트워크를 생성한다.
본 발명의 일 실시예에 따르면, 토폴로지 제어부는, 새로운 제1 IoT 장치가 검색된 경우, 제1 IoT 장치와 복수의 IoT 장치의 각각에 대한 제1 최단 이동 거리를 결정하고, 결정된 제1 최단 이동 거리에 따라 제1 IoT 장치 및 복수의 IoT 장치에 대한 연결을 재구성하여 동적 메시 네트워크를 생성한다.
본 발명의 일 실시예에 따르면, 토폴로지 제어부는, 복수의 IoT 장치에 포함된 제2 IoT 장치가 제거된 경우, 제2 IoT 장치에 대한 연결을 제거하고, 제2 IoT 장치가 제거된 복수의 IoT 장치의 각각에 대한 제2 최단 이동 거리를 결정하고, 결정된 제2 최단 이동 거리에 따라 제2 IoT 장치가 제거된 복수의 IoT 장치의 각각에 대한 연결을 재구성하여 동적 메시 네트워크를 생성한다.
본 발명의 다양한 실시예에서 상황 인식 시스템은 사용자의 서비스 요청이 없는 경우에도, IoT 장치들에 의해 획득된 다양한 정보를 이용하여 사용자의 현재 상황을 인식하고, 해당 사용자의 현재 상황에 최적화된 서비스를 제공할 수 있다.
본 발명의 다양한 실시예에서 위치를 기초로 결정된 하나 이상의 IoT 장치를 통해 상황 인식 시스템은 사용자의 현재 상황에 최적화된 서비스를 제공할 수 있다.
본 발명의 다양한 실시예에서 하이 레벨의 상황 인식 정보를 기초로 사용자에게 현재 필요한 서비스를 효과적으로 판단하여, 사용자에게 실시간으로 최적의 서비스가 제공될 수 있다.
본 발명의 다양한 실시예에서 복수의 IoT 장치 중 적어도 일부가 변경되는 경우에도, 동적 메시 네트워크가 재구성됨으로써, IoT 장치들의 최단 경로를 기초로 하는 서비스는 효과적으로 사용자들에게 제공될 수 있다.
본 발명의 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급되지 않은 다른 효과들은 청구범위의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자("통상의 기술자"라 함)에게 명확하게 이해될 수 있을 것이다.
본 발명의 실시예들은, 이하 설명하는 첨부 도면들을 참조하여 설명될 것이며, 여기서 유사한 참조 번호는 유사한 요소들을 나타내지만, 이에 한정되지는 않는다.
도 1은 본 발명의 일 실시예에 따른 상황 인식 시스템의 내부 구성을 나타내는 기능적인 블록도이다.
도 2는 본 발명의 일 실시예에 따른 서비스 관리부의 내부 구성을 나타내는 기능적인 블록도이다.
도 3은 본 발명의 일 실시예에 따른 상황 관리부의 내부 구성을 나타내는 기능적인 블록도이다.
도 4는 본 발명의 일 실시예에 따른 토폴로지 제어부의 내부 구성을 나타내는 기능적인 블록도이다.
도 5는 본 발명의 일 실시예에 따른 장치 관리부의 내부 구성을 나타내는 기능적인 블록도이다.
도 6은 본 발명의 일 실시예에 따른 로우 레벨의 상황 인식 정보의 예시를 나타내는 도면이다.
도 7은 본 발명의 일 실시예에 따른 하이 레벨의 상황 인식 정보의 예시를 나타내는 도면이다.
도 8은 본 발명의 일 실시예에 따른 동적 메시 네트워크의 예시를 나타내는 도면이다.
도 9는 본 발명의 일 실시예에 따른 동적 메시 네트워크가 재구성되는 예시를 나타내는 도면이다.
도 10은 본 발명의 일 실시예에 따른 IoT 환경에서의 사용자 중심의 상황 인식 서비스 제공 방법의 예시를 나타내는 흐름도이다.
도 11은 본 발명의 일 실시예에 따른 하이 레벨의 상황 인식 정보 생성 방법의 예시를 나타내는 흐름도이다.
도 12는 본 발명의 일 실시예에 따른 동적 메시 네트워크 생성 방법의 예시를 나타내는 흐름도이다.
도 13은 본 발명의 일 실시예에 따른 동적 메시 네트워크 재구성 방법의 예시를 나타내는 흐름도이다.
도 14는 본 발명의 일 실시예에 따른 상황 인식 시스템의 내부 구성을 나타내는 블록도이다.
이하, 본 발명의 실시를 위한 구체적인 내용을 첨부된 도면을 참조하여 상세히 설명한다. 다만, 이하의 설명에서는 본 발명의 요지를 불필요하게 흐릴 우려가 있는 경우, 널리 알려진 기능이나 구성에 관한 구체적 설명은 생략하기로 한다.
첨부된 도면에서, 동일하거나 대응하는 구성요소에는 동일한 참조부호가 부여되어 있다. 또한, 이하의 실시예들의 설명에 있어서, 동일하거나 대응되는 구성요소를 중복하여 기술하는 것이 생략될 수 있다. 그러나, 구성요소에 관한 기술이 생략되어도, 그러한 구성요소가 어떤 실시예에 포함되지 않는 것으로 의도되지는 않는다.
개시된 실시예의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명이 완전하도록 하고, 본 발명이 통상의 기술자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것일 뿐이다.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 개시된 실시예에 대해 구체적으로 설명하기로 한다. 본 명세서에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 관련 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서, 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.
본 명세서에서의 단수의 표현은 문맥상 명백하게 단수인 것으로 특정하지 않는 한, 복수의 표현을 포함한다. 또한, 복수의 표현은 문맥상 명백하게 복수인 것으로 특정하지 않는 한, 단수의 표현을 포함한다. 명세서 전체에서 어떤 부분이 어떤 구성요소를 포함한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다.
본 발명에서, "포함하다", "포함하는" 등의 용어는 특징들, 단계들, 동작들, 요소들 및/또는 구성 요소들이 존재하는 것을 나타낼 수 있으나, 이러한 용어가 하나 이상의 다른 기능들, 단계들, 동작들, 요소들, 구성 요소들 및/또는 이들의 조합이 추가되는 것을 배제하지는 않는다.
본 발명에서, 특정 구성 요소가 임의의 다른 구성 요소에 "결합", "조합", "연결" 되거나, "반응" 하는 것으로 언급된 경우, 특정 구성 요소는 다른 구성 요소에 직접 결합, 조합 및/또는 연결되거나, 반응할 수 있으나, 이에 한정되지 않는다. 예를 들어, 특정 구성 요소와 다른 구성 요소 사이에 하나 이상의 중간 구성 요소가 존재할 수 있다. 또한, 본 발명에서 "및/또는"은 열거된 하나 이상의 항목의 각각 또는 하나 이상의 항목의 적어도 일부의 조합을 포함할 수 있다.
본 발명에서, "제1", "제2" 등의 용어는 특정 구성 요소를 다른 구성 요소와 구별하기 위해 사용되는 것으로, 이러한 용어에 의해 상술된 구성 요소가 제한되진 않는다. 예를 들어, "제1" 구성 요소는 "제2" 구성 요소와 동일하거나 유사한 형태의 요소일 수 있다.
도 1은 본 발명의 일 실시예에 따른 상황 인식 시스템(100)의 내부 구성을 나타내는 기능적인 블록도이다. 도시된 바와 같이, 상황 인식 시스템(100)은 서비스 관리부(110), 상황 관리부(120), 토폴로지(topology) 제어부(130), 장치 관리부(140), 통신부(150) 등을 포함할 수 있으나, 이에 한정되지 않는다. 상황 인식 시스템(100)은 네트워크 레이어(160)를 통해 IoT 장치(170)(또는 복수의 IoT 장치)와 통신하며, 사용자 중심의 상황 인식 서비스 제공에 필요한 데이터 및/또는 정보를 주고받을 수 있다.
상황 인식 시스템(100)은 IoT 장치(170)로부터 수집된 데이터 및/또는 정보를 이용하여 IoT 장치(170) 주변의 사용자에 대한 상황(context)을 인식하고, 인식된 상황에 적합한 서비스를 제공하기 위한 시스템일 수 있다. 또한, IoT는 인터넷을 기반으로 모든 사물을 연결하여 정보를 상호 소통하는 지능형 기술 및/또는 서비스를 지칭할 수 있으며, IoT 장치(170)는 이와 같이 인터넷을 기반으로 다른 IoT 장치와 연결된 사물, 장치 등을 지칭할 수 있다. 예를 들어, IoT 장치(170)는 사용자와 연관된 사용자 단말 및 스위치, 도어락, 경보 장치 등의 공공 기반 시설(infrastructure) 장치 등을 포함할 수 있다.
일 실시예에 따르면, 상황 인식 시스템(100)은 IoT 장치(170)로부터 IoT 장치(170)와 연관된 정보 및 사용자 정보를 포함하는 로우 데이터(raw data)를 수신할 수 있다. 예를 들어, 통신부(150)는 네트워크 레이어(160)를 통해 IoT 장치(170)로부터 로우 데이터를 수신할 수 있다. 즉, IoT 장치(170)는 주변의 센서(180)(또는 복수의 센서)로부터 수신된 센싱 정보를 수집하고, 수집된 센싱 정보를 상황 인식 시스템(100)으로 전송할 수 있다. 여기서, 사용자 정보는 사용자 단말에 포함된 다양한 센서로부터 센싱된 정보일 수 있으며, IoT 장치(170)와 연관된 정보는 사용자(또는 사용자 단말)의 현재 위치를 중심으로, 미리 정해진 거리 이내에 위치한 IoT 장치에 의해 수집되거나 획득된 센싱 정보일 수 있다. 예를 들어, 상황 인식 시스템(100)은 사전 결정된 시간 간격마다 주기적으로 로우 데이터를 수신할 수 있으나, 이에 한정되지 않으며, 사용자로부터 서비스 요청이 있는 경우 로우 데이터를 수신할 수도 있다.
로우 데이터를 수신하는 경우, 상황 인식 시스템(100) 및/또는 장치 관리부(140)는 수신된 로우 데이터를 로우 데이터 DB(미도시)에 저장할 수 있다. 또한, 상황 관리부(120)는 이와 같이 로우 데이터 DB에 저장된 로우 데이터를 기초로 사용자의 상황과 연관된 하이 레벨(high level)의 상황 인식 정보를 생성할 수 있다. 예를 들어, 상황 관리부(120)는 로우 데이터의 데이터 포맷(data format)을 변환하여 로우 레벨(low level)의 상황 인식 정보를 생성하고, 로우 레벨의 상황 인식 정보를 기초로 사용자와 연관된 대상(who), 시기(when), 장소(where) 및 목적(what)을 포함하는 사용자의 상황과 연관된 하이 레벨의 상황 인식 정보를 생성할 수 있다. 즉, 상황 관리부(120)는 IoT 장치(170)로부터 수신된 로우 데이터를 처리하거나 변환하여 사용자의 상황을 판단하기 위한 상황 인식 정보를 생성할 수 있다.
그리고 나서, 상황 관리부(120)는 생성된 하이 레벨의 상황 인식 정보가 서비스 제공을 위해 요구되는 서비스 조건을 만족하는지 여부를 판정할 수 있다. 즉, 상황 인식 시스템(100)에 의해 제공되는 각각의 서비스는 서비스의 제공을 위한 특정 조건과 연관될 수 있다. 예를 들어, 최적의 주차 위치를 제공하는 주차 서비스는 해당 주차 서비스에 가입하거나, 해당 주차 서비스를 구독하는 사용자가 주차 서비스와 연관된 건물에 진입하는지 여부가 서비스의 제공을 위한 조건일 수 있으나, 이에 한정되지 않는다.
서비스 조건을 만족하는 것으로 판정되는 경우, 상황 인식 시스템(100) 및/또는 서비스 관리부(110)는 사용자와 연관된 하나 이상의 IoT 장치에서 서비스 조건을 만족하는 서비스를 실행할 수 있다. 예를 들어, 서비스 관리부(110)는 상황 관리부(120)로부터 사용자가 이용하는 서비스 목록을 수신할 수 있으며, 이 경우, 서비스 관리부(110)는 서비스 목록을 검색하여, 사용자가 서비스 조건을 만족하는 서비스를 이용하는지 여부를 판정하고, 서비스를 실행하기 위한 서비스 실행 정보를 토폴로지 제어부(130)로 전송할 수 있다. 그리고 나서, 토폴로지 제어부(130)는 서비스 실행 정보를 수신하는 경우, 동적 메시 네트워크(dynamic mesh network)를 이용하여 사용자의 위치로부터 미리 정해진 거리 이내에 포함된 하나 이상의 IoT 장치를 결정하고, 장치 관리부(140)로 서비스를 실행하기 위한 서비스 실행 정보를 전송할 수 있다. 서비스 실행 정보를 수신하는 경우, 장치 관리부(140)는 사용자와 연관된 하나 이상의 IoT 장치에서 서비스 조건을 만족하는 서비스를 실행하여, 사용자 중심의 상황 인식 서비스를 제공할 수 있다.
도 1에서는 상황 인식 시스템(100)이 하나의 IoT 장치(170)에서 센싱 정보 등을 수신하는 것으로 도시되었으나, 이에 한정되지 않으며, 상황 인식 시스템(100)은 복수의 IoT 장치로부터 센싱 정보 등을 수신할 수 있다. 또한, 도 1에서는 상황 인식 시스템(100)에 포함된 각각의 기능적인 구성이 구분되어 상술되었으나, 이는 발명의 이해를 돕기 위한 것일 뿐이며, 하나의 연산 장치에서 둘 이상의 기능을 수행할 수도 있다. 이와 같은 구성에 의해, 상황 인식 시스템(100)은 사용자의 서비스 요청이 없는 경우에도, IoT 장치들에 의해 획득된 다양한 정보를 이용하여 사용자의 현재 상황을 인식하고, 해당 사용자의 현재 상황에 최적화된 서비스를 제공할 수 있다.
도 2는 본 발명의 일 실시예에 따른 서비스 관리부(110)의 내부 구성을 나타내는 기능적인 블록도이다. 도시된 바와 같이, 서비스 관리부(110)는 오픈 서비스 API(210), 서비스 등록 모듈(220), 서비스 수정 모듈(230), 서비스 제거 모듈(240), 서비스 요청 모듈(250), 서비스 모니터링 모듈(260), 사용자 서비스 관리 모듈(270) 등을 포함할 수 있으나, 이에 한정되지 않는다. 상술된 바와 같이, 서비스 관리부(110)는 상황 관리부(120), 토폴로지 제어부(130), 장치 관리부(140) 및 통신부(150)와 상호 작용하며 사용자 중심의 상황 인식 서비스를 제공할 수 있다.
일 실시예에 따르면, 서비스 관리부(110)는 사용자 단말을 포함하는 IoT 장치에서 사용자 서비스 검색, 가입, 탈퇴, 서비스 제공자 등록, 서비스 실행 등을 지원하거나 수행할 수 있다. 여기서, 사용자에게 제공되는 서비스는 사용자 단말의 사용자 인터페이스를 통한 시각화된 응용 프로그램, 응용 프로그램을 통한 엘리베이터, 에어컨 등의 IoT 장치의 제어 서비스 등을 포함할 수 있으나, 이에 한정되지 않는다.
서비스 등록 모듈(220)은 서비스 제공자가 개발한 서비스의 등록을 지원하고, 서비스 수정 모듈(230)은 서비스 제공자가 등록한 서비스의 수정을 지원할 수 있으며, 서비스 제거 모듈(240)은 등록된 서비스의 제거를 지원할 수 있다. 즉, 서비스 관리부(110)는 사용자에게 제공 가능한 상황 중심 서비스를 등록하거나, 수정하거나 제거하는 등으로 관리할 수 있다. 다시 말해, 서비스 등록 모듈(220), 서비스 수정 모듈(230) 및 서비스 제거 모듈(240)의 상호작용을 통해 사용자에게 제공 가능한 서비스는 지속적으로 변경될 수 있다. 이 경우, 오픈 서비스 API(210)는 서비스 제공자를 위한 API를 제공하여 서비스 개발을 용이하게 하는 개방형 구조를 지원할 수 있다.
일 실시예에 따르면, 서비스 요청 모듈(250)은 실제 서비스와 상황 인식 시스템 간의 통신을 지원하며, 상황 인식 정보를 기초로 서비스를 실행하기 위한 서비스 실행 정보를 제공할 수 있다. 또한, 서비스 모니터링 모듈(260)은 서비스 실행에 필요한 조건을 상황 관리부(120)에 제공하고, 조건이 충족되는 경우, 상황 인식 시스템에 관련 내용을 제공하는 인터페이스를 포함할 수 있다. 또한, 사용자 서비스 관리 모듈(270)은 사용자의 서비스에 대한 가입 또는 철회를 지원할 수 있다. 즉, 서비스 요청 모듈(250), 서비스 모니터링 모듈(260) 및 사용자 서비스 관리 모듈(270)은 상호작용하며 사용자의 상황에 적합한 서비스의 제공을 지원할 수 있다.
도 3은 본 발명의 일 실시예에 따른 상황 관리부(120)의 내부 구성을 나타내는 기능적인 블록도이다. 도시된 바와 같이, 상황 관리부(120)는 서비스 모니터 모듈(330), 상황 인식 모듈(320), 로우 데이터 획득 모듈(310) 등을 포함할 수 있으나, 이에 한정되지 않는다. 상술된 바와 같이, 상황 관리부(120)는 서비스 관리부(110), 토폴로지 제어부(130), 장치 관리부(140) 및 통신부(150)와 상호 작용하며 사용자 중심의 상황 인식 서비스를 제공할 수 있다.
일 실시예에 따르면, 로우 데이터 획득 모듈(310)은 복수의 IoT 장치로부터 복수의 IoT 장치와 연관된 정보 및 사용자 정보를 포함하는 로우 데이터(raw data)를 수신할 수 있다. 예를 들어, 각각의 센서는 자신의 센싱 정보를 근방의 IoT 장치로 전송할 수 있으며, 이 경우, 각각의 IoT 장치는 복수의 센서들로부터 수신된 센싱 정보를 수집하여, 로우 데이터 획득 모듈(310)로 전송할 수 있다.
상황 인식 모듈(320)은 로우 데이터 획득 모듈(310)로부터 로우 데이터를 제공받을 수 있으며, 로우 데이터를 이용하여 사용자의 상황과 연관된 하이 레벨(high level)의 상황 인식 정보를 생성할 수 있다. 예를 들어, 상황 인식 모듈(320)은 로우 데이터의 데이터 포맷을 변환하여 로우 레벨(low level)의 상황 인식 정보를 생성하고, 로우 레벨의 상황 인식 정보를 기초로 사용자와 연관된 대상(who), 시기(when), 장소(where) 및 목적(what)을 포함하는 사용자의 상황과 연관된 하이 레벨의 상황 인식 정보를 생성할 수 있다. 즉, 상황 인식 모듈(320)은 생성된 상황 인식 정보를 이용하여 사용자의 현재 상황을 인식하거나 식별하여, 사용자의 다음 행동 등을 예측할 수 있다.
일 실시예에 따르면, 서비스 관리부(110)가 새로운 서비스를 등록하거나, 서비스를 수정하는 경우, 서비스 모니터 모듈(330)은 해당 서비스와 연관된 IoT 장치 등에 서비스 조건을 등록할 수 있다. 예를 들어, 이와 같이 등록된 서비스 조건이 만족되는 경우, 해당 서비스가 수행될 수 있으며, 서비스 모니터 모듈(330)은 상황 인식 모듈(320)에 의해 생성된 하이 레벨의 상황 인식 정보가 등록된 서비스 조건을 만족하는 것으로 판정되는 경우, 서비스 관리부(110)에 만족된 서비스 조건과 연관된 서비스의 수행을 요청할 수 있다.
도 4는 본 발명의 일 실시예에 따른 토폴로지 제어부(130)의 내부 구성을 나타내는 기능적인 블록도이다. 도시된 바와 같이, 토폴로지 제어부(130)는 맵 데이터 관리 모듈(410), 최단 경로 검색 모듈(420), 토폴로지 재구성 모듈(430), 위치 추정 모듈(440), 노드 제거 모듈(450), 노드 삽입 모듈(460) 등을 포함할 수 있으나, 이에 한정되지 않는다. 상술된 바와 같이, 토폴로지 제어부(130)는 서비스 관리부(110), 상황 관리부(120), 장치 관리부(140) 및 통신부(150)와 상호 작용하며 사용자 중심의 상황 인식 서비스를 제공할 수 있다.
일 실시예에 따르면, 토폴로지 제어부(130)는 사용자 중심의 상황 인식 서비스를 제공하기 위해 특정 영역 내에 포함된 복수의 IoT 장치를 연동시킬 수 있다. 예를 들어, 토폴로지 제어부(130)는 복수의 IoT 장치의 위치 정보를 포함하는 동적 메시 네트워크(dynamic mesh network)를 생성하여, 복수의 IoT 장치를 연동시킬 수 있다.
동적 메시 네트워크를 생성하기 위해, 맵 데이터 관리 모듈(410)은 실제 지도의 위치와 복수의 IoT 장치의 각각의 위치를 매핑하여 데이터를 저장하거나 관리할 수 있다. 예를 들어, 맵 데이터 관리 모듈(410)은 복수의 IoT 장치에 포함된 임의의 센서 및/또는 복수의 IoT 장치로부터 송출되는 임의의 신호(예: RSSI 등)를 기초로 각 IoT 장치의 위치를 결정하고, 결정된 각 IoT 장치의 위치와 미리 저장되거나 추출된 실제 지도를 결합하여 복수의 IoT 장치와 연관된 지도를 생성하고 관리할 수 있다.
최단 경로 검색 모듈(420)은 맵 데이터 관리 모듈(410)에 의해 결정된 각 IoT 장치의 위치 및/또는 생성된 지도를 기초로 각 IoT 장치 간의 최단 경로를 결정할 수 있다. 예를 들어, 최단 경로 검색 모듈(420)은 복수의 지점을 연결하는 최단 경로를 결정할 수 있는 임의의 알고리즘(예를 들어, 알고리즘 등)을 이용하여 각 IoT 장치 간의 최단 경로를 결정할 수 있다. 즉, 맵 데이터 관리 모듈(410) 및 최단 경로 검색 모듈(420)에 의해 초기 동적 메시 네트워크가 생성될 수 있다.
일 실시예에 따르면, 위치 추정 모듈(440)은 사용자와 함께 이동하는 동적인 IoT 장치(예를 들어, 사용자 단말 등)의 위치를 지속적으로 추정하거나 결정할 수 있다. 예를 들어, 위치 추정 모듈(440)은 사용자와 연관된 IoT 장치에 포함된 임의의 센서(예: GPS 센서)를 이용하여 해당 IoT 장치의 위치를 추정하거나 결정할 수 있다. 이와 같이 위치 추정 모듈(440)에 의해 추정된 사용자의 위치 및 생성된 동적 메시 네트워크를 기초로 사용자 중심의 상황 인식 서비스가 제공될 수 있다.
일 실시예에 따르면, 토폴로지 재구성 모듈(430)은 동적 메시 네트워크를 수정하거나 업데이트하여 재구성할 수 있다. 이 경우, 토폴로지 재구성 모듈(430)은 노드 제거 모듈(450) 및 노드 삽입 모듈(460)과 함께 동적 메시 네트워크를 재구성할 수 있다. 예를 들어, 새로운 IoT 장치가 동적 메시 네트워크가 구성된 영역에 포함된 경우, 토폴로지 재구성 모듈(430) 및 노드 삽입 모듈(460)은 해당 IoT 장치의 위치를 결정하고, 복수의 IoT 장치 간의 최단 경로를 재결정하여, 동적 메시 네트워크를 재구성할 수 있다. 다른 예에서, IoT 장치가 동적 메시 네트워크가 구성된 영역에서 제거된 경우, 토폴로지 재구성 모듈(430) 및 노드 제거 모듈(450)은 해당 IoT 장치를 제외한 나머지 IoT 장치 간의 최단 경로를 재결정하여, 동적 메시 네트워크를 재구성할 수 있다.
도 5는 본 발명의 일 실시예에 따른 장치 관리부(140)의 내부 구성을 나타내는 기능적인 블록도이다. 도시된 바와 같이, 장치 관리부(140)는 고정 장치 관리 모듈(510), 이동 장치 관리 모듈(520) 등을 포함할 수 있으나, 이에 한정되지 않는다. 상술된 바와 같이, 장치 관리부(140)는 서비스 관리부(110), 상황 관리부(120), 토폴로지 제어부(130) 및 통신부(150)와 상호 작용하며 사용자 중심의 상황 인식 서비스를 제공할 수 있다.
일 실시예에 따르면, 고정 장치는 특정 영역의 특정 위치에 설치되어 위치가 고정된 IoT 장치로서 사용자의 위치를 기초로 미리 정해진 영역 내에 포함된 장치를 나타낼 수 있으며, 이동 장치는 사용자와 연관되고 동적으로 이동하는 IoT 장치를 나타낼 수 있다. 장치 관리부(140)는 고정 장치 관리 모듈(510) 및 이동 장치 관리 모듈(520)을 통해 IoT 장치의 등록 및 IoT 장치로 제공되는 서비스에 대한 위치 관리, 상태 관리, 성능 관리 등을 수행할 수 있다.
일 실시예에 따르면, 고정 장치 관리 모듈(510)은 장치 등록 모듈(512), 장치 위치 관리 모듈(514), 장치 상태 관리 모듈(516), 장치 서비스 관리 모듈(518) 등을 포함할 수 있다. 또한, 이동 장치 관리 모듈(520)은 사용자 단말 등록 모듈(522), 사용자 단말 위치 관리 모듈(524), 사용자 단말 상태 관리 모듈(526), 사용자 단말 서비스 관리 모듈(528) 등을 포함할 수 있다.
장치 등록 모듈(512) 및/또는 사용자 단말 등록 모듈(522)은 새로운 IoT 장치가 동적 메시 네트워크가 구성된 영역에 포함되는 경우, 해당 IoT 장치와 연관된 정보를 등록하여 관리할 수 있다. 또한, 장치 위치 관리 모듈(514) 및/또는 사용자 단말 위치 관리 모듈(524)은 등록된 IoT 장치의 고정 위치 또는 이동 위치를 지속적으로 결정하여, 사용자 위치 기반의 서비스를 제공하기 위해 활용할 수 있다. 여기서, 장치 상태 관리 모듈(516) 및/또는 사용자 단말 상태 관리 모듈(526)은 현재 IoT 장치의 처리 가능 용량, 배터리 등의 상태를 관리할 수 있다. 또한, 장치 서비스 관리 모듈(518) 및 사용자 단말 서비스 관리 모듈(528)은 현재 IoT 장치에 의해 제공되고 있거나 제공될 서비스의 종류, 서비스 제공 시간 등을 관리하거나 처리할 수 있다.
추가적으로, 통신부(150)는 IoT 장치와 상황 인식 시스템 간의 통신을 담당할 수 있다. 예를 들어, 통신부(150)는 요청/응답 HTTP(Hypertext Transfer Protocol)를 사용하여 IoT 장치에서 데이터 및/또는 정보를 수집하거나 수신하고, 수집하거나 수신된 데이터 및/또는 정보를 장치 관리부(140)에 전달할 수 있다. 즉, 통신부(150)는 IoT 장치와 상황 인식 시스템 간의 게이트웨이(gateway)로서 기능할 수 있다.
일 실시예에 따르면, 통신부(150)에 의해 전달되는 데이터의 데이터 구조는 태그(tag), MAC 주소 및 데이터 목록의 세가지 열로 구성될 수 있다. 여기서, 태그는 IoT 장치와 연관된 데이터 범주를 나타낼 수 있으며, 예를 들어, 사용자 가입과 연관된 데이터인 경우, 태그는 "사용자 등록"으로 결정될 수 있다. 또한, MAC 주소는 IoT 장치의 고유 식별자를 나타내며, 데이터 목록은 JSON 형태의 배열을 포함할 수 있다.
도 6은 본 발명의 일 실시예에 따른 로우 레벨의 상황 인식 정보(600)의 예시를 나타내는 도면이다. 상술한 바와 같이, 상황 인식 시스템은 복수의 IoT 장치로부터 복수의 IoT 장치와 연관된 정보 및 사용자 정보를 포함하는 로우 데이터(raw data)를 수신하고, 로우 데이터의 데이터 포맷을 변환하여 로우 레벨의 상황 인식 정보(600)를 생성할 수 있다.
도시된 것과 같이, 로우 레벨의 상황 인식 정보(600)는 공공 기반 시설 상황(infrastructure context)으로서 복수의 IoT 장치와 연관된 정보(610) 및 사용자 상황(user context)으로서 사용자 정보(620)를 포함할 수 있다. 예를 들어, 복수의 IoT 장치와 연관된 정보(610)는 사용자 정보(620)를 기초로 식별된 사용자의 현재 위치 주변의 IoT 장치 및 센서(예: 센서 1, 센서 2, 센서 N 등)에서 수집된 센서 데이터(612)를 포함할 수 있다. 또한, 사용자 정보(620)는 사용자의 IoT 장치에서 수집된 데이터로서, 이벤트 데이터(622) 및 센서 데이터(624)를 포함할 수 있다.
일 실시예에 따르면, 이벤트 데이터(622)는 사용자의 프로필, 일정, 통화 목록, 시간 로그, 사용자 애플리케이션 등에 대한 데이터로서, 사용자의 현재 상태를 저장할 수 있는 데이터를 포함할 수 있다. 또한, 센서 데이터(622)는 사용자의 IoT 장치에 포함된 다양한 센서로부터 생성된 GPS 데이터, 가속기 데이터, Wi-Fi, 웹로그(web-log) 데이터, 블루투스 센서 데이터 등을 포함할 수 있다.
도 7은 본 발명의 일 실시예에 따른 하이 레벨의 상황 인식 정보(700)의 예시를 나타내는 도면이다. 상술한 바와 같이, 상황 인식 시스템은 수신된 로우 데이터를 기초로 사용자의 상황과 연관된 하이 레벨의 상황 인식 정보(700)를 생성할 수 있다. 예를 들어, 상황 인식 시스템은 로우 데이터의 데이터 포맷을 변환하여 로우 레벨의 상황 인식 정보를 생성하고, 로우 레벨의 상황 인식 정보를 기초로 사용자와 연관된 대상(who)(712), 시기(when)(714), 장소(where)(716) 및 목적(what)(718)을 포함하는 사용자의 상황과 연관된 하이 레벨의 상황 인식 정보(700)를 생성할 수 있다. 즉, 하이 레벨의 상황 인식 정보(700)는 대상(who)(712), 시기(when)(714), 장소(where)(716) 및 목적(what)(718)을 포함하는 4W 정보(710), 서비스 데이터(720) 및 공공 클라우드 데이터(730)를 포함할 수 있다.
일 실시예에 따르면, 서비스 데이터(720)는 사용자가 가입하거나 구독하는 서비스에 대한 정보 및 메시 데이터(mesh data)를 포함할 수 있다. 또한, 공공 클라우드 데이터(730)는 사용자가 관심을 갖거나 구독하는 서비스에서 생성된 공공 데이터를 포함할 수 있다. 예를 들어, 공공 데이터는 사용자의 위치와 연관된 날씨 데이터, 주차장 현황 정보, 버스 정류장 정보 등을 포함할 수 있다. 여기서, 서비스 데이터(720) 및/또는 공공 클라우드 데이터(730)는 사용자와 연관된 IoT 장치의 애플리케이션을 통해 생성되거나 전송될 수 있다. 상황 인식 시스템은 특정 사용자의 하이 레벨의 상황 인식 정보(700)를 조회하고, 조건이 충족되는 경우, 서비스의 콘텐츠를 사용자에게 전달할 수 있다. 이와 같은 구성에 의해, 하이 레벨의 상황 인식 정보를 기초로 사용자에게 현재 필요한 서비스를 효과적으로 판단하여, 해당 사용자에게 실시간으로 최적의 서비스가 제공될 수 있다.
도 8은 본 발명의 일 실시예에 따른 동적 메시 네트워크(800)의 예시를 나타내는 도면이다. 상술한 바와 같이, 상황 인식 시스템은 복수의 IoT 장치의 위치 정보를 포함하는 동적 메시 네트워크(800)를 생성하고, 동적 메시 네트워크를 이용하여 사용자의 위치로부터 미리 정해진 거리 이내에 포함된 하나 이상의 IoT 장치를 결정할 수 있다.
일 실시예에 따르면, 동적 메시 네트워크(800)는 가상의 오버레이(overlay) 네트워크일 수 있다. 예를 들어, 동적 메시 네트워크(800)에서 A 내지 I에 대응하는 노드(node)는 복수의 IoT 장치를 나타낼 수 있으며, 엣지(edge)는 각 IoT 장치 간의 연결(connection)을 나타낼 수 있다. 즉, 동적 메시 네트워크(800)는 A 내지 I에 대응하는 복수의 IoT 장치를 최단 경로로 연결하여 구성될 수 있다.
일 실시예에 따르면, IoT 장치 간의 연결은 사용자의 후속 위치를 추정하기 위해 사용될 수 있다. 예를 들어, 사용자가 현재 D에 대응하는 IoT 장치에서 서비스를 제공받고 있는 경우, D에 연결된 B, C, E, I 중 하나로 이동할 수 있다는 가정 하에 서비스를 준비하고, 제공할 수 있다. 이와 같이 위치를 기초로 결정된 하나 이상의 IoT 장치를 통해 상황 인식 시스템은 사용자의 현재 상황에 최적화된 서비스를 제공할 수 있다.
도 9는 본 발명의 일 실시예에 따른 동적 메시 네트워크(910)가 재구성되는 예시를 나타내는 도면이다. 일 실시예에 따르면, 동적 메시 네트워크(910)는 지속적으로 재구성될 수 있다. 예를 들어, 새로운 IoT 장치가 포함되거나, 기존의 IoT 장치가 제거되는 경우, 동적 메시 네트워크(910)는 재구성될 수 있다.
도시된 예에서, 동적 메시 네트워크(910)는 A, B, C, D, E 및 Z의 6개의 IoT 장치가 연결되어 구성될 수 있다. 여기서, Z에 대응하는 IoT 장치가 제거되거나 등록이 취소된 경우, 재구성된 동적 메시 네트워크(920)가 생성될 수 있다. 일 실시예에 따르면, 상황 인식 시스템은 복수의 IoT 장치에 포함된 특정 IoT 장치가 제거된 경우, 특정 IoT 장치에 대한 연결(connection)을 제거하고, 특정 IoT 장치가 제거된 복수의 IoT 장치의 각각에 대한 최단 이동 거리를 결정할 수 있다. 그리고 나서, 상황 인식 시스템은 결정된 최단 이동 거리에 따라 특정 IoT 장치가 제거된 복수의 IoT 장치의 각각에 대한 연결을 재구성하여 재구성된 동적 메시 네트워크(920)를 생성할 수 있다. 예를 들어, 최단 이동 거리를 결정하기 위해, 상황 인식 시스템은 3개의 노드를 포함하는 삼각형을 추출할 수 있다. 그리고 나서, 상황 인식 시스템은 추출된 삼각형 중 선이 완전히 연결되지 않아 삼각형이 형성되지 않는 경우를 제외하여 최단 거리를 결정할 수 있다.
추가적으로 또는 대안적으로, 새로운 IoT 장치가 검색된 경우, 상황 인식 시스템은 새로운 IoT 장치와 기존의 복수의 IoT 장치의 각각에 대한 최단 이동 거리를 결정할 수 있다. 또한, 상황 인식 시스템은 결정된 최단 이동 거리에 따라 IoT 장치 및 복수의 IoT 장치에 대한 연결을 재구성하여 동적 메시 네트워크를 생성할 수도 있다. 이와 같은 구성에 의해, 복수의 IoT 장치 중 적어도 일부가 변경되는 경우에도, 동적 메시 네트워크(910)가 재구성됨으로써, IoT 장치들의 최단 경로를 기초로 하는 서비스는 효과적으로 사용자들에게 제공될 수 있다.
도 10은 본 발명의 일 실시예에 따른 IoT 환경에서의 사용자 중심의 상황 인식 서비스 제공 방법(1000)의 예시를 나타내는 흐름도이다. 사용자 중심의 상황 인식 서비스 제공 방법(1000)은 프로세서(예를 들어, 상황 인식 시스템의 적어도 하나의 프로세서)에 의해 수행될 수 있다. 도시된 바와 같이, 사용자 중심의 상황 인식 서비스 제공 방법(1000)은 프로세서가 복수의 IoT 장치로부터 복수의 IoT 장치와 연관된 정보 및 사용자 정보를 포함하는 로우 데이터를 수신함으로써 개시될 수 있다(S1010).
프로세서는 수신된 로우 데이터를 기초로 사용자의 상황과 연관된 하이 레벨의 상황 인식 정보를 생성할 수 있다(S1020). 또한, 프로세서는 생성된 하이 레벨의 상황 인식 정보가 서비스 제공을 위해 요구되는 서비스 조건을 만족하는지 여부를 판정할 수 있다(S1030). 서비스 조건을 만족하는 것으로 판정되는 경우, 프로세서는 사용자와 연관된 하나 이상의 IoT 장치에서 서비스 조건을 만족하는 서비스를 실행할 수 있다(S1040).
일 실시예에 따르면, 프로세서는 사용자가 이용하는 서비스 목록을 검색하여, 사용자가 서비스 조건을 만족하는 서비스를 이용하는지 여부를 판정하고, 서비스를 이용하는 것으로 판정된 경우, 서비스를 실행하기 위한 서비스 실행 정보를 결정할 수 있다. 그 후, 프로세서는 결정된 서비스 실행 정보를 기초로 사용자와 연관된 하나 이상의 IoT 장치에서 서비스 조건을 만족하는 서비스를 실행할 수 있다.
도 11은 본 발명의 일 실시예에 따른 하이 레벨의 상황 인식 정보 생성 방법(1100)의 예시를 나타내는 흐름도이다. 하이 레벨의 상황 인식 정보 생성 방법(1100)은 프로세서(예를 들어, 상황 인식 시스템의 적어도 하나의 프로세서)에 의해 수행될 수 있다. 상술한 바와 같이, 프로세서는 로우 데이터를 기초로 사용자의 상황과 연관된 하이 레벨의 상황 인식 정보를 생성할 수 있다.
이 경우, 하이 레벨의 상황 인식 정보 생성 방법(1100)은 프로세서가 로우 데이터의 데이터 포맷을 변환하여 로우 레벨의 상황 인식 정보를 생성함으로써 개시될 수 있다(S1110). 프로세서는 로우 레벨의 상황 인식 정보를 기초로 사용자와 연관된 대상(who), 시기(when), 장소(where) 및 목적(what)을 포함하는 사용자의 상황과 연관된 하이 레벨의 상황 인식 정보를 생성할 수 있다(S1120).
일 실시예에 따르면, 로우 레벨의 상황 인식 정보는 공공 기반 시설 상황(infrastructure context)으로서 복수의 IoT 장치와 연관된 정보 및 사용자 상황(user context)으로서 사용자 정보를 포함할 수 있다. 또한, 하이 레벨의 상황 인식 정보는 대상(who), 시기(when), 장소(where) 및 목적(what)을 포함하는 4W 정보, 서비스 데이터 및 공공 클라우드 데이터를 포함할 수 있다.
도 12는 본 발명의 일 실시예에 따른 동적 메시 네트워크 생성 방법(1200)의 예시를 나타내는 흐름도이다. 동적 메시 네트워크 생성 방법(1200)은 프로세서(예를 들어, 상황 인식 시스템의 적어도 하나의 프로세서)에 의해 수행될 수 있다. 일 실시예에 따르면, 프로세서는 복수의 IoT 장치의 위치 정보를 포함하는 동적 메시 네트워크를 생성하고, 동적 메시 네트워크를 이용하여 사용자의 위치로부터 미리 정해진 거리 이내에 포함된 하나 이상의 IoT 장치를 결정할 수 있다. 그리고 나서, 프로세서는 하나 이상의 IoT 장치에서 서비스 조건을 만족하는 서비스를 실행할 수 있다.
동적 메시 네트워크 상에서 새로운 제1 IoT 장치가 검색된 경우, 프로세서는 제1 IoT 장치와 복수의 IoT 장치의 각각에 대한 제1 최단 이동 거리(shortest movement distance)를 결정할 수 있다(S1210). 예를 들어, 프로세서는 최단 거리 및/또는 최단 경로를 결정하기 위한 임의의 알고리즘을 이용하여 제1 최단 이동 거리를 결정할 수 있다. 그리고 나서, 프로세서는 결정된 제1 최단 이동 거리에 따라 제1 IoT 장치 및 복수의 IoT 장치에 대한 연결을 재구성하여 동적 메시 네트워크를 생성할 수 있다(S1220).
도 13은 본 발명의 일 실시예에 따른 동적 메시 네트워크 재구성 방법(1300)의 예시를 나타내는 흐름도이다. 동적 메시 네트워크 재구성 방법(1300)은 프로세서(예를 들어, 상황 인식 시스템의 적어도 하나의 프로세서)에 의해 수행될 수 있다. 일 실시예에 따르면, 프로세서는 복수의 IoT 장치의 위치 정보를 포함하는 동적 메시 네트워크를 생성하고, 동적 메시 네트워크를 이용하여 사용자의 위치로부터 미리 정해진 거리 이내에 포함된 하나 이상의 IoT 장치를 결정할 수 있다. 그리고 나서, 프로세서는 하나 이상의 IoT 장치에서 서비스 조건을 만족하는 서비스를 실행할 수 있다.
동적 메시 네트워크 상에서 복수의 IoT 장치에 포함된 제2 IoT 장치가 제거된 경우, 프로세서는 제2 IoT 장치에 대한 연결을 제거할 수 있다(S1310). 그리고 나서, 프로세서는 제2 IoT 장치가 제거된 복수의 IoT 장치의 각각에 대한 제2 최단 이동 거리를 결정할 수 있다(S1320). 예를 들어, 프로세서는 최단 거리 및/또는 최단 경로를 결정하기 위한 임의의 알고리즘을 이용하여 제2 최단 이동 거리를 결정할 수 있다. 이 경우, 프로세서는 결정된 제2 최단 이동 거리에 따라 제2 IoT 장치가 제거된 복수의 IoT 장치의 각각에 대한 연결을 재구성하여 동적 메시 네트워크를 생성할 수 있다(S1320).
도 14는 본 발명의 일 실시예에 따른 상황 인식 시스템(1400)의 내부 구성을 나타내는 블록도이다. 도시된 예에서, 상황 인식 시스템(1400)은 메모리(1410), 프로세서(1420), 통신 모듈(1430) 및 입출력 인터페이스(1440)를 포함할 수 있다. 도 14에 도시된 바와 같이, 상황 인식 시스템(1400)은 통신 모듈(1430)을 이용하여 네트워크를 통해 정보 및/또는 데이터를 통신할 수 있도록 구성될 수 있다.
메모리(1410)는 비-일시적인 임의의 컴퓨터 판독 가능한 기록매체를 포함할 수 있다. 일 실시예에 따르면, 메모리(1410)는 RAM(random access memory), ROM(read only memory), 디스크 드라이브, SSD(solid state drive), 플래시 메모리(flash memory) 등과 같은 비소멸성 대용량 저장 장치(permanent mass storage device)를 포함할 수 있다. 다른 예로서, ROM, SSD, 플래시 메모리, 디스크 드라이브 등과 같은 비소멸성 대용량 저장 장치는 메모리와는 구분되는 별도의 영구 저장 장치로서 상황 인식 시스템(1400)에 포함될 수 있다. 또한, 메모리(1410)에는 운영체제와 적어도 하나의 프로그램 코드가 저장될 수 있다.
이러한 소프트웨어 구성요소들은 메모리(1410)와는 별도의 컴퓨터에서 판독 가능한 기록매체로부터 로딩될 수 있다. 이러한 별도의 컴퓨터에서 판독 가능한 기록매체는 이러한 상황 인식 시스템(1400)에 직접 연결가능한 기록 매체를 포함할 수 있는데, 예를 들어, 플로피 드라이브, 디스크, 테이프, DVD/CD-ROM 드라이브, 메모리 카드 등의 컴퓨터에서 판독 가능한 기록매체를 포함할 수 있다. 다른 예로서, 소프트웨어 구성요소들은 컴퓨터에서 판독 가능한 기록매체가 아닌 통신 모듈(1430)을 통해 메모리(1410)에 로딩될 수도 있다. 예를 들어, 적어도 하나의 프로그램은 개발자들 또는 어플리케이션의 설치 파일을 배포하는 파일 배포 시스템이 통신 모듈(1430)을 통해 제공하는 파일들에 의해 설치되는 컴퓨터 프로그램에 기반하여 메모리(1410)에 로딩될 수 있다.
프로세서(1420)는 기본적인 산술, 로직 및 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 명령은 메모리(1410) 또는 통신 모듈(1430)에 의해 사용자 단말(미도시) 또는 다른 외부 시스템으로 제공될 수 있다.
통신 모듈(1430)은 네트워크를 통해 사용자 단말(미도시)과 상황 인식 시스템(1400)이 서로 통신하기 위한 구성 또는 기능을 제공할 수 있으며, 상황 인식 시스템(1400)이 외부 시스템(일례로 별도의 클라우드 시스템 등)과 통신하기 위한 구성 또는 기능을 제공할 수 있다. 일례로, 상황 인식 시스템(1400)의 프로세서(1420)의 제어에 따라 제공되는 제어 신호, 명령, 데이터 등이 통신 모듈(1430)과 네트워크를 거쳐 사용자 단말 및/또는 외부 시스템의 통신 모듈을 통해 사용자 단말 및/또는 외부 시스템으로 전송될 수 있다.
또한, 상황 인식 시스템(1400)의 입출력 인터페이스(1440)는 상황 인식 시스템(1400)과 연결되거나 상황 인식 시스템(1400)이 포함할 수 있는 입력 또는 출력을 위한 장치(미도시)와의 인터페이스를 위한 수단일 수 있다. 도 14에서는 입출력 인터페이스(1440)가 프로세서(1420)와 별도로 구성된 요소로서 도시되었으나, 이에 한정되지 않으며, 입출력 인터페이스(1440)가 프로세서(1420)에 포함되도록 구성될 수 있다. 상황 인식 시스템(1400)은 도 14의 구성요소들보다 더 많은 구성요소들을 포함할 수 있다. 그러나, 대부분의 종래기술적 구성요소들을 명확하게 도시할 필요성은 없다.
상황 인식 시스템(1400)의 프로세서(1420)는 복수의 사용자 단말 및/또는 복수의 외부 시스템으로부터 수신된 정보 및/또는 데이터를 관리, 처리 및/또는 저장하도록 구성될 수 있다.
상술된 방법 및/또는 다양한 실시예들은, 디지털 전자 회로, 컴퓨터 하드웨어, 펌웨어, 소프트웨어 및/또는 이들의 조합으로 실현될 수 있다. 본 발명의 다양한 실시예들은 데이터 처리 장치, 예를 들어, 프로그래밍 가능한 하나 이상의 프로세서 및/또는 하나 이상의 컴퓨팅 장치에 의해 실행되거나, 컴퓨터 판독 가능한 기록 매체 및/또는 컴퓨터 판독 가능한 기록 매체에 저장된 컴퓨터 프로그램으로 구현될 수 있다. 상술된 컴퓨터 프로그램은 컴파일된 언어 또는 해석된 언어를 포함하여 임의의 형태의 프로그래밍 언어로 작성될 수 있으며, 독립 실행형 프로그램, 모듈, 서브 루틴 등의 임의의 형태로 배포될 수 있다. 컴퓨터 프로그램은 하나의 컴퓨팅 장치, 동일한 네트워크를 통해 연결된 복수의 컴퓨팅 장치 및/또는 복수의 상이한 네트워크를 통해 연결되도록 분산된 복수의 컴퓨팅 장치를 통해 배포될 수 있다.
상술된 방법 및/또는 다양한 실시예들은, 입력 데이터를 기초로 동작하거나 출력 데이터를 생성함으로써, 임의의 기능, 함수 등을 처리, 저장 및/또는 관리하는 하나 이상의 컴퓨터 프로그램을 실행하도록 구성된 하나 이상의 프로세서에 의해 수행될 수 있다. 예를 들어, 본 발명의 방법 및/또는 다양한 실시예는 FPGA(Field Programmable Gate Array) 또는 ASIC(Application Specific Integrated Circuit)과 같은 특수 목적 논리 회로에 의해 수행될 수 있으며, 본 발명의 방법 및/또는 실시예들을 수행하기 위한 장치 및/또는 시스템은 FPGA 또는 ASIC와 같은 특수 목적 논리 회로로서 구현될 수 있다.
컴퓨터 프로그램을 실행하는 하나 이상의 프로세서는, 범용 목적 또는 특수 목적의 마이크로 프로세서 및/또는 임의의 종류의 디지털 컴퓨팅 장치의 하나 이상의 프로세서를 포함할 수 있다. 프로세서는 읽기 전용 메모리, 랜덤 액세스 메모리의 각각으로부터 명령 및/또는 데이터를 수신하거나, 읽기 전용 메모리와 랜덤 액세스 메모리로부터 명령 및/또는 데이터를 수신할 수 있다. 본 발명에서, 방법 및/또는 실시예들을 수행하는 컴퓨팅 장치의 구성 요소들은 명령어들을 실행하기 위한 하나 이상의 프로세서, 명령어들 및/또는 데이터를 저장하기 위한 하나 이상의 메모리 디바이스를 포함할 수 있다.
일 실시예에 따르면, 컴퓨팅 장치는 데이터를 저장하기 위한 하나 이상의 대용량 저장 장치와 데이터를 주고받을 수 있다. 예를 들어, 컴퓨팅 장치는 자기 디스크(magnetic disc) 또는 광 디스크(optical disc)로부터 데이터를 수신하거나/수신하고, 자기 디스크 또는 광 디스크로 데이터를 전송할 수 있다. 컴퓨터 프로그램과 연관된 명령어들 및/또는 데이터를 저장하기에 적합한 컴퓨터 판독 가능한 저장 매체는, EPROM(Erasable Programmable Read-Only Memory), EEPROM(Electrically Erasable PROM), 플래시 메모리 장치 등의 반도체 메모리 장치를 포함하는 임의의 형태의 비 휘발성 메모리를 포함할 수 있으나, 이에 한정되지 않는다. 예를 들어, 컴퓨터 판독 가능한 저장 매체는 내부 하드 디스크 또는 이동식 디스크와 같은 자기 디스크, 광 자기 디스크, CD-ROM 및 DVD-ROM 디스크를 포함할 수 있다.
사용자와의 상호 작용을 제공하기 위해, 컴퓨팅 장치는 정보를 사용자에게 제공하거나 디스플레이하기 위한 디스플레이 장치(예를 들어, CRT (Cathode Ray Tube), LCD(Liquid Crystal Display) 등) 및 사용자가 컴퓨팅 장치 상에 입력 및/또는 명령 등을 제공할 수 있는 포인팅 장치(예를 들어, 키보드, 마우스, 트랙볼 등)를 포함할 수 있으나, 이에 한정되지 않는다. 즉, 컴퓨팅 장치는 사용자와의 상호 작용을 제공하기 위한 임의의 다른 종류의 장치들을 더 포함할 수 있다. 예를 들어, 컴퓨팅 장치는 사용자와의 상호 작용을 위해, 시각적 피드백, 청각 피드백 및/또는 촉각 피드백 등을 포함하는 임의의 형태의 감각 피드백을 사용자에게 제공할 수 있다. 이에 대해, 사용자는 시각, 음성, 동작 등의 다양한 제스처를 통해 컴퓨팅 장치로 입력을 제공할 수 있다.
본 발명에서, 다양한 실시예들은 백엔드 구성 요소(예: 데이터 서버), 미들웨어 구성 요소(예: 애플리케이션 서버) 및/또는 프론트 엔드 구성 요소를 포함하는 컴퓨팅 시스템에서 구현될 수 있다. 이 경우, 구성 요소들은 통신 네트워크와 같은 디지털 데이터 통신의 임의의 형태 또는 매체에 의해 상호 연결될 수 있다. 예를 들어, 통신 네트워크는 LAN(Local Area Network), WAN(Wide Area Network) 등을 포함할 수 있다.
본 명세서에서 기술된 예시적인 실시예들에 기반한 컴퓨팅 장치는, 사용자 디바이스, 사용자 인터페이스(UI) 디바이스, 사용자 단말 또는 클라이언트 디바이스를 포함하여 사용자와 상호 작용하도록 구성된 하드웨어 및/또는 소프트웨어를 사용하여 구현될 수 있다. 예를 들어, 컴퓨팅 장치는 랩톱(laptop) 컴퓨터와 같은 휴대용 컴퓨팅 장치를 포함할 수 있다. 추가적으로 또는 대안적으로, 컴퓨팅 장치는, PDA(Personal Digital Assistants), 태블릿 PC, 게임 콘솔(game console), 웨어러블 디바이스(wearable device), IoT(internet of things) 디바이스, VR(virtual reality) 디바이스, AR(augmented reality) 디바이스 등을 포함할 수 있으나, 이에 한정되지 않는다. 컴퓨팅 장치는 사용자와 상호 작용하도록 구성된 다른 유형의 장치를 더 포함할 수 있다. 또한, 컴퓨팅 장치는 이동 통신 네트워크 등의 네트워크를 통한 무선 통신에 적합한 휴대용 통신 디바이스(예를 들어, 이동 전화, 스마트 전화, 무선 셀룰러 전화 등) 등을 포함할 수 있다. 컴퓨팅 장치는, 무선 주파수(RF; Radio Frequency), 마이크로파 주파수(MWF; Microwave Frequency) 및/또는 적외선 주파수(IRF; Infrared Ray Frequency)와 같은 무선 통신 기술들 및/또는 프로토콜들을 사용하여 네트워크 서버와 무선으로 통신하도록 구성될 수 있다.
본 발명에서 특정 구조적 및 기능적 세부 사항을 포함하는 다양한 실시예들은 예시적인 것이다. 따라서, 본 발명의 실시예들은 상술된 것으로 한정되지 않으며, 여러 가지 다른 형태로 구현될 수 있다. 또한, 본 발명에서 사용된 용어는 일부 실시예를 설명하기 위한 것이며 실시예를 제한하는 것으로 해석되지 않는다. 예를 들어, 단수형 단어 및 상기는 문맥상 달리 명확하게 나타내지 않는 한 복수형도 포함하는 것으로 해석될 수 있다.
본 발명에서, 달리 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함하여 본 명세서에서 사용되는 모든 용어는 이러한 개념이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 갖는다. 또한, 사전에 정의된 용어와 같이 일반적으로 사용되는 용어들은 관련 기술의 맥락에서의 의미와 일치하는 의미를 갖는 것으로 해석되어야 한다.
본 명세서에서는 본 발명이 일부 실시예들과 관련하여 설명되었지만, 본 발명의 발명이 속하는 기술분야의 통상의 기술자가 이해할 수 있는 본 발명의 범위를 벗어나지 않는 범위에서 다양한 변형 및 변경이 이루어질 수 있다. 또한, 그러한 변형 및 변경은 본 명세서에 첨부된 특허청구의 범위 내에 속하는 것으로 생각되어야 한다.
100: 상황 인식 시스템
110: 서비스 관리부
120: 상황 관리부
130: 토폴로지 제어부
140: 장치 관리부
150: 통신부
160: 네트워크 레이어
170: IoT 장치
180: 센서

Claims (16)

  1. 적어도 하나의 프로세서에 의해 수행되는 IoT 환경에서의 사용자 중심의 상황 인식 서비스 제공 방법으로서,
    복수의 IoT 장치로부터 상기 복수의 IoT 장치와 연관된 정보 및 사용자 정보를 포함하는 로우 데이터(raw data)를 수신하는 단계;
    상기 수신된 로우 데이터를 기초로 사용자의 상황과 연관된 하이 레벨(high level)의 상황 인식 정보를 생성하는 단계;
    상기 생성된 하이 레벨의 상황 인식 정보가 서비스 제공을 위해 요구되는 서비스 조건을 만족하는지 여부를 판정하는 단계;
    상기 서비스 조건을 만족하는 것으로 판정되는 경우, 상기 사용자와 연관된 하나 이상의 IoT 장치에서 상기 서비스 조건을 만족하는 서비스를 실행하는 단계;
    상기 복수의 IoT 장치의 위치 정보를 포함하는 동적 메시 네트워크(dynamic mesh network)를 생성하는 단계; 및
    상기 동적 메시 네트워크를 이용하여 상기 사용자의 위치로부터 미리 정해진 거리 이내에 포함된 상기 하나 이상의 IoT 장치를 결정하는 단계;
    를 포함하고,
    상기 서비스를 실행하는 단계는,
    상기 사용자가 이용하는 서비스 목록을 검색하여, 상기 사용자가 상기 서비스 조건을 만족하는 서비스를 이용하는지 여부를 판정하는 단계;
    상기 서비스를 이용하는 것으로 판정된 경우, 상기 서비스를 실행하기 위한 서비스 실행 정보를 결정하는 단계; 및
    상기 결정된 서비스 실행 정보를 기초로 상기 사용자와 연관된 하나 이상의 IoT 장치에서 상기 서비스 조건을 만족하는 서비스를 실행하는 단계;
    를 포함하고,
    상기 수신된 로우 데이터를 기초로 상기 사용자의 상황과 연관된 하이 레벨의 상황 인식 정보를 생성하는 단계는,
    상기 로우 데이터의 데이터 포맷(data format)을 변환하여 로우 레벨(low level)의 상황 인식 정보를 생성하는 단계; 및
    상기 로우 레벨의 상황 인식 정보를 기초로 상기 사용자와 연관된 대상(who), 시기(when), 장소(where) 및 목적(what)을 포함하는 사용자의 상황과 연관된 하이 레벨의 상황 인식 정보를 생성하는 단계;
    를 포함하는, IoT 환경에서의 사용자 중심의 상황 인식 서비스 제공 방법.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 제1항에 있어서,
    상기 동적 메시 네트워크를 생성하는 단계는,
    새로운 제1 IoT 장치가 검색된 경우, 상기 제1 IoT 장치와 상기 복수의 IoT 장치의 각각에 대한 제1 최단 이동 거리(shortest movement distance)를 결정하는 단계; 및
    상기 결정된 제1 최단 이동 거리에 따라 상기 제1 IoT 장치 및 상기 복수의 IoT 장치에 대한 연결을 재구성하여 상기 동적 메시 네트워크를 생성하는 단계;
    를 포함하는, IoT 환경에서의 사용자 중심의 상황 인식 서비스 제공 방법.
  6. 제1항에 있어서,
    상기 동적 메시 네트워크를 생성하는 단계는,
    복수의 IoT 장치에 포함된 제2 IoT 장치가 제거된 경우, 상기 제2 IoT 장치에 대한 연결(connection)을 제거하는 단계;
    상기 제2 IoT 장치가 제거된 복수의 IoT 장치의 각각에 대한 제2 최단 이동 거리를 결정하는 단계; 및
    상기 결정된 제2 최단 이동 거리에 따라 상기 제2 IoT 장치가 제거된 복수의 IoT 장치의 각각에 대한 연결을 재구성하여 상기 동적 메시 네트워크를 생성하는 단계;
    를 포함하는, IoT 환경에서의 사용자 중심의 상황 인식 서비스 제공 방법.
  7. 제1항, 제5항 및 제6항 중 어느 한 항에 따른 방법을 컴퓨터에서 실행하기 위해 컴퓨터 판독 가능한 기록 매체에 저장된 컴퓨터 프로그램.
  8. 사용자 중심의 상황 인식 시스템으로서,
    복수의 IoT 장치로부터 상기 복수의 IoT 장치와 연관된 정보 및 사용자 정보를 포함하는 로우 데이터(raw data)를 수신하는 통신부;
    상기 수신된 로우 데이터를 로우 데이터 DB에 저장하는 장치 관리부;
    상기 로우 데이터 DB에 저장된 로우 데이터를 기초로 사용자의 상황과 연관된 하이 레벨(high level)의 상황 인식 정보를 생성하고, 생성된 하이 레벨의 상황 인식 정보를 상황 DB에 저장하는 상황 관리부;
    서비스 목록을 검색하여, 상기 사용자가 서비스 조건을 만족하는 서비스를 이용하는지 여부를 판정하고, 상기 서비스를 실행하기 위한 서비스 실행 정보를 전송하는 서비스 관리부; 및
    상기 서비스 실행 정보를 수신하는 경우, 동적 메시 네트워크를 이용하여 상기 사용자의 위치로부터 미리 정해진 거리 이내에 포함된 하나 이상의 IoT 장치를 결정하고, 상기 장치 관리부로 상기 서비스를 실행하기 위한 서비스 실행 정보를 전송하는 토폴로지(topology) 제어부;
    를 포함하고,
    상기 상황 관리부는, 상기 로우 데이터의 데이터 포맷(data format)을 변환하여 로우 레벨(low level)의 상황 인식 정보를 생성하고, 상기 로우 레벨의 상황 인식 정보를 기초로 상기 사용자와 연관된 대상(who), 시기(when), 장소(where) 및 목적(what)을 포함하는 사용자의 상황과 연관된 하이 레벨의 상황 인식 정보를 생성하고,
    상기 상황 관리부는, 상기 생성된 하이 레벨의 상황 인식 정보가 서비스 제공을 위해 요구되는 서비스 조건을 만족하는지 여부를 판정하고, 상기 서비스 조건을 만족하는 것으로 판정되는 경우, 상기 사용자가 이용하는 서비스 목록을 전송하는, 사용자 중심의 상황 인식 시스템.
  9. 삭제
  10. 삭제
  11. 삭제
  12. 삭제
  13. 제8항에 있어서,
    상기 장치 관리부는, 상기 사용자와 연관된 하나 이상의 IoT 장치에서 상기 서비스 조건을 만족하는 서비스를 실행하는, 사용자 중심의 상황 인식 시스템.
  14. 제8항에 있어서,
    상기 토폴로지 제어부는, 상기 복수의 IoT 장치의 위치 정보를 포함하는 동적 메시 네트워크를 생성하는, 사용자 중심의 상황 인식 시스템.
  15. 제14항에 있어서,
    상기 토폴로지 제어부는,
    새로운 제1 IoT 장치가 검색된 경우, 상기 제1 IoT 장치와 상기 복수의 IoT 장치의 각각에 대한 제1 최단 이동 거리(shortest movement distance)를 결정하고, 상기 결정된 제1 최단 이동 거리에 따라 상기 제1 IoT 장치 및 상기 복수의 IoT 장치에 대한 연결을 재구성하여 상기 동적 메시 네트워크를 생성하는, 사용자 중심의 상황 인식 시스템.
  16. 제14항에 있어서,
    상기 토폴로지 제어부는,
    복수의 IoT 장치에 포함된 제2 IoT 장치가 제거된 경우, 상기 제2 IoT 장치에 대한 연결(connection)을 제거하고, 상기 제2 IoT 장치가 제거된 복수의 IoT 장치의 각각에 대한 제2 최단 이동 거리를 결정하고, 상기 결정된 제2 최단 이동 거리에 따라 상기 제2 IoT 장치가 제거된 복수의 IoT 장치의 각각에 대한 연결을 재구성하여 상기 동적 메시 네트워크를 생성하는, 사용자 중심의 상황 인식 시스템.
KR1020210134002A 2021-10-08 2021-10-08 IoT 환경에서의 사용자 중심의 상황 인식 서비스 제공 방법 및 시스템 Active KR102573591B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210134002A KR102573591B1 (ko) 2021-10-08 2021-10-08 IoT 환경에서의 사용자 중심의 상황 인식 서비스 제공 방법 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210134002A KR102573591B1 (ko) 2021-10-08 2021-10-08 IoT 환경에서의 사용자 중심의 상황 인식 서비스 제공 방법 및 시스템

Publications (2)

Publication Number Publication Date
KR20230050784A KR20230050784A (ko) 2023-04-17
KR102573591B1 true KR102573591B1 (ko) 2023-08-31

Family

ID=86128158

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210134002A Active KR102573591B1 (ko) 2021-10-08 2021-10-08 IoT 환경에서의 사용자 중심의 상황 인식 서비스 제공 방법 및 시스템

Country Status (1)

Country Link
KR (1) KR102573591B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200021669A1 (en) * 2018-07-13 2020-01-16 EMC IP Holding Company LLC Internet of things gateways of moving networks
WO2021172719A1 (ko) * 2020-02-24 2021-09-02 윤필선 Iot 기반 라이다 센서 기술을 이용한 지하수 모니터링 시스템

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102273367B1 (ko) * 2018-12-28 2021-07-05 숙명여자대학교산학협력단 복합적인 IoT로 구성된 Super Things에서의 각 IoT의 기능을 새롭게 융합하고 복합 서비스를 만들기 위한 기법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200021669A1 (en) * 2018-07-13 2020-01-16 EMC IP Holding Company LLC Internet of things gateways of moving networks
WO2021172719A1 (ko) * 2020-02-24 2021-09-02 윤필선 Iot 기반 라이다 센서 기술을 이용한 지하수 모니터링 시스템

Also Published As

Publication number Publication date
KR20230050784A (ko) 2023-04-17

Similar Documents

Publication Publication Date Title
CN110827818B (zh) 一种智能语音设备的控制方法、装置、设备及存储介质
US11638117B2 (en) Beacon addressing
AU2015307379B2 (en) Method for managing beacon, terminal device, server and storage medium
JP5989249B2 (ja) コンピューティングデバイスの無線再接続時間削減
US20210021673A1 (en) Group-based data transfer in machine-to-machine systems
Furfari et al. Discovering location based services: A unified approach for heterogeneous indoor localization systems
Al-Turjman Impact of user's habits on smartphones' sensors: An overview
Doukas et al. COMPOSE: Building smart & context-aware mobile applications utilizing IoT technologies
WO2014071055A1 (en) Distributed association engine
WO2012059836A1 (en) Method and apparatus for building a user behavior model
Ji et al. CrowdSensing: A crowd-sourcing based indoor navigation using RFID-based delay tolerant network
KR102514593B1 (ko) Rf 핑거프린트 구축 방법 및 장치
Namiot et al. On open source mobile sensing
KR102573591B1 (ko) IoT 환경에서의 사용자 중심의 상황 인식 서비스 제공 방법 및 시스템
KR101938734B1 (ko) 게이트웨이 기반의 m2m 디바이스들 기능 공유 방법 및 장치
CN112673367A (zh) 用于预测用户意图的电子设备和方法
JP7458377B2 (ja) フォグベースのデータ処理を有効にするためのデータサンプルテンプレート(Data Sample Template:DST)管理
Wierenga et al. Simple: developing a lbs positioning solution
CN115061740A (zh) 应用程序处理方法及装置
CN116033344B (zh) 地理围栏的确定方法、设备及存储介质
Chakati Reliable Distributed Management in Uncertain Environments
Privat et al. Edge-of-Cloud Fast-Data Consolidation for the Internet of Things.
Wu Android wi-fi location awareness and data inference heuristic.
CN116029368A (zh) 超参数优化方法、相关装置及存储介质
CN116989839A (zh) 状态检测方法及装置、电子设备、存储介质

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20211008

PA0201 Request for examination
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20221118

Patent event code: PE09021S01D

PG1501 Laying open of application
E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20230530

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20230829

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20230829

End annual number: 3

Start annual number: 1

PG1601 Publication of registration