KR20160104667A - 디바이스 액션을 개시하는 사용자의 모션 기반의 예측에 기초하여 사물 인터넷 (IoT) 에서의 디바이스 액션을 선제적으로 트리거링 - Google Patents

디바이스 액션을 개시하는 사용자의 모션 기반의 예측에 기초하여 사물 인터넷 (IoT) 에서의 디바이스 액션을 선제적으로 트리거링 Download PDF

Info

Publication number
KR20160104667A
KR20160104667A KR1020167020684A KR20167020684A KR20160104667A KR 20160104667 A KR20160104667 A KR 20160104667A KR 1020167020684 A KR1020167020684 A KR 1020167020684A KR 20167020684 A KR20167020684 A KR 20167020684A KR 20160104667 A KR20160104667 A KR 20160104667A
Authority
KR
South Korea
Prior art keywords
iot
motion
given
event
user
Prior art date
Application number
KR1020167020684A
Other languages
English (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 퀄컴 인코포레이티드
Publication of KR20160104667A publication Critical patent/KR20160104667A/ko

Links

Images

Classifications

    • H04W4/005
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B15/00Systems controlled by a computer
    • G05B15/02Systems controlled by a computer electric
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/0205Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric not using a model or a simulator of the controlled system
    • G05B13/026Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric not using a model or a simulator of the controlled system using a predictor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • 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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/26Pc applications
    • G05B2219/2642Domotique, domestic, home control, automation, smart house
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/70Services for machine-to-machine communication [M2M] or machine type communication [MTC]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • General Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Telephonic Communication Services (AREA)
  • Selective Calling Equipment (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

일 실시형태에서, 장치는 IoT 환경에서 검출된 원시 모션 데이터의 보고(들)를 수신하고, 또한 IoT 환경 내의 IoT 디바이스들의 세트에 의해 검출된 사용자 개시의 이벤트(들)를 나타내는 보고(들)를 수신한다. 장치는, 시간의 임계 기간 동안 발생한 IoT 환경 내의 모션 시퀀스(들)를 식별하기 위해 특정 검출된 사용자 개시의 이벤트들에 선행하는 시간의 임계 기간 내에 원시 모션 데이터를 스캔한다. 소정의 모션 시퀀스(들)는, 사용자 개시의 이벤트(들)가 모션 시퀀스(들)에 후속하게 될, 신뢰도 레벨에 기초하여 사용자 개시의 이벤트(들)와 상관된다. 일부 나중 시점에서의 모션 시퀀스(들)의 검출시, 상관된 이벤트(들)는 선제적으로 사용자 개입없이 트리거된다.

Description

디바이스 액션을 개시하는 사용자의 모션 기반의 예측에 기초하여 사물 인터넷 (IoT) 에서의 디바이스 액션을 선제적으로 트리거링{PREEMPTIVELY TRIGGERING A DEVICE ACTION IN AN INTERNET OF THINGS (IoT) ENVIRONMENT BASED ON A MOTION-BASED PREDICTION OF A USER INITIATING THE DEVICE ACTION}
관련 출원들의 상호 참조
본 특허 출원은 본원의 양수인에게 양도되고 본 명세서에 그 전체가 참조로써 명백하게 통합되며, 본 출원과 발명자들이 동일하며, 2013년 12월 30일자로 출원된 발명의 명칭이 "PREEMPTIVELY TRIGGERING A DEVICE ACTION IN AN INTERNET OF THINGS (IoT) ENVIRONMENT BASED ON A MOTION-BASED PREDICTION OF A USER INITIATING THE DEVICE ACTION" 인 미국 가출원 제61/922,065호의 이익을 주장한다.
기술 분야
실시형태들은 디바이스 액션을 개시하는 사용자의 모션 기반의 예측에 기초하여 사물 인터넷 (IoT; Internet of Things) 에서의 디바이스 액션을 선제적으로 트리거하는 것에 관한 것이다.
인터넷은 서로 통신하기 위해 표준 인터넷 프로토콜 묶음 (예를 들어, 송신 제어 프로토콜 (TCP) 및 인터넷 프로토콜 (IP)) 을 사용하는 상호연결된 컴퓨터들 및 컴퓨터 네트워크들의 글로벌 시스템이다. 사물 인터넷 (IoT) 은 컴퓨터들 및 컴퓨터 네트워크들뿐만 아니라 일상적인 오브젝트들이 IoT 통신 네트워크 (예를 들어, 애드혹 시스템 또는 인터넷) 를 통해 판독가능하고, 인식가능하고, 로케이팅가능하고, 어드레싱가능하며, 제어가능하다는 생각에 기초한다.
다수의 시장 경향들은 IoT 디바이스들의 개발을 추진시키고 있다. 예를 들어, 에너지 비용들의 증가는 스마트 그리드들에서의 정부의 전략적 투자들 그리고 예컨대 전기 차량들 및 공공 충전 스테이션들에 대한, 장래 소비에 대한 지원을 추진시키고 있다. 헬스 케어 비용들 및 노령화 인구들의 증가는 원격/연결형 헬스 케어 및 피트니스 서비스들에 대한 개발을 추진시키고 있다. 홈에서의 기술적 변혁은, 'N' 플레이 (예를 들어, 데이터, 음성, 비디오, 보안, 에너지 관리 등) 를 마케팅하고 홈 네트워크들을 확장시키는 서비스 제공자들에 의한 통합을 포함하여, 새로운 "스마트" 서비스들에 대한 개발을 추진시키고 있다. 빌딩들은 기업체 설비들에 대한 운용 비용들을 감소시키기 위한 수단으로서 보다 스마트해지고 더욱 편리해지고 있다.
IoT 에 대한 다수의 주요한 애플리케이션들이 존재한다. 예를 들어, 스마트 그리드들 및 에너지 관리의 영역에서, 유틸리티 회사들은 홈들 및 사업체들에 대한 에너지 전달을 최적화할 수 있는 한편, 고객들은 에너지 사용을 보다 양호하게 관리할 수 있다. 홈 및 빌딩 자동화의 영역에서, 스마트 홈들 및 빌딩들은, 어플라이언스들에서부터 PEV (plug-in electric vehicle) 보안 시스템들까지, 홈 또는 오피스에서의 사실상 임의의 디바이스 또는 시스템을 통한 제어를 중앙집중화하고 있을 수 있다. 자산 추적 분야에서, 기업체들, 병원들, 공장들, 및 다른 큰 조직들은 고가의 장비, 환자들, 차량들 등의 로케이션들을 정확히 추적할 수 있다. 헬스 및 웰니스 (wellness) 의 영역에서, 의사들은 환자의 건강상태를 원격으로 모니터링할 수 있는 한편, 사람들은 피트니스 루틴들의 진행을 추적할 수 있다.
일 실시형태에서, 장치는 IoT 환경에서 검출된 원시 모션 데이터의 보고(들)를 수신하고, 또한 IoT 환경 내의 IoT 디바이스들의 세트에 의해 검출된 사용자 개시의 이벤트(들)를 나타내는 보고(들)를 수신한다. 장치는, 시간의 임계 기간 동안 발생한 IoT 환경 내의 모션 시퀀스(들)를 식별하기 위해 특정 검출된 사용자 개시의 이벤트들에 선행하는 시간의 임계 기간 내에 원시 모션 데이터를 스캔한다. 소정의 모션 시퀀스(들)는, 사용자 개시의 이벤트(들)가 모션 시퀀스(들)에 후속하게 될, 신뢰도 레벨에 기초하여 사용자 개시의 이벤트(들)와 상관된다. 일부 나중 시점에서의 모션 시퀀스(들)의 검출시, 상관된 이벤트(들)는 선제적으로 (preemptively) 사용자 개입없이 트리거된다.
본 개시의 제한이 아닌 예시를 위해서만 제시되는 첨부 도면들과 관련하여 고려될 때 다음의 상세한 설명을 참조하여 더 잘 이해되는 것과 마찬가지로 본 개시의 양태들 및 그 수반되는 많은 이점들의 보다 완전한 이해가 쉽게 획득될 것이다.
도 1a 는 본 개시물의 양태에 따른 무선 통신 시스템의 하이 레벨 시스템 아키텍처를 예시한다.
도 1b 는 본 개시물의 다른 양태에 따른 무선 통신 시스템의 하이 레벨 시스템 아키텍처를 예시한다.
도 1c 는 본 개시물의 양태에 따른 무선 통신 시스템의 하이 레벨 시스템 아키텍처를 예시한다.
도 1d 는 본 개시물의 양태에 따른 무선 통신 시스템의 하이 레벨 시스템 아키텍처를 예시한다.
도 1e 는 본 개시물의 양태에 따른 무선 통신 시스템의 하이 레벨 시스템 아키텍처를 예시한다.
도 2a 는 본 개시물의 양태들에 따른 예시적인 사물 인터넷 (IoT) 디바이스를 예시하며, 한편 도 2b 는 본 개시물의 양태들에 따른 예시적인 수동 IoT 디바이스를 예시한다.
도 3 은 본 개시물의 양태에 따른 기능을 수행하도록 구성된 로직을 포함하는 통신 디바이스를 예시한다.
도 4 는 본 개시물의 여러 양태들에 따른, 예시적인 서버를 예시한다.
도 5 는 본 발명의 실시형태에 따라 "단일 사용자" IoT 환경 (또는 분산된 IoT 네트워크) 의 예를 도시한다.
도 6 은 본 발명의 실시형태에 따라 "단일 사용자" IoT 환경 (또는 분산된 IoT 네트워크) 의 예를 도시한다.
도 7 은 본 발명의 실시형태에 따라 이벤트의 특정 타입과 모션 시퀀스를 상관하는 프로세스를 도시한다.
도 8a 는 본 발명의 실시형태에 따라 동작 시퀀스 상관에 기초하여 이벤트를 선제적으로 트리거하는 프로세스를 도시한다.
도 8b 는 본 발명의 또다른 실시형태에 따라 모션 시퀀스 상관에 기초하여 이벤트를 선제적으로 트리거하는 프로세스를 도시한다.
도 9a 는 본 발명의 또다른 실시형태에 따라 모션 시퀀스 상관에 기초하여 이벤트를 선제적으로 트리거하는 프로세스를 도시한다.
도 9b 는 본 발명의 또다른 실시형태에 따라 모션 시퀀스 상관에 기초하여 이벤트를 선제적으로 트리거하는 프로세스를 도시한다.
도 10 은 본 발명의 실시형태에 따라 모션 데이터에 대해 질의하는 프로세스를 도시한다.
사물 인터넷 (IoT) 디바이스들 간의 프록시미티 검출의 예시적인 실시형태들과 관련된 특성 예들을 나타내기 위해 다양한 양태들이 하기 설명 및 관련 도면들에 개시되어 있다. 대안의 실시형태들은 이 개시물을 읽으면 통상의 기술자에게 있어 자명할 것이고, 본 개시의 범위 또는 사상으로부터 벗어남이 없이 구성 및 실시될 수도 있다. 부가적으로, 잘 알려진 엘리먼트들은 자세히 설명되지 않을 것이고, 본원에 개시된 양태들 및 실시형태들의 관련 상세들을 모호하게 하지 않기 위해 생략될 수도 있다.
"예시적인" 이라는 단어는 "예, 실례, 또는 예시로서 기능하는" 것을 의미하도록 본 명세서에서 사용된다. "예시적인" 것으로서 본 명세서에서 설명되는 임의의 실시형태는 다른 실시형태들에 비해 반드시 선호되거나 유리한 것으로서 해석될 필요는 없다. 마찬가지로, 용어 "실시형태들" 은 모든 실시형태들이 논의된 특징, 이점 또는 동작 모드를 포함하는 것을 요구하지는 않는다.
본 명세서에서 사용된 용어는 단지 특정 실시형태들을 기술하고, 본원에 개시된 임의의 실시형태들을 제한하는 것으로 해석되어야 한다. 본 명세서에서 사용된 바와 같이, "a", "an", 및 "the" 와 같은 부정관사 및 정관사의 단수 형태들은, 문맥에서 분명하게 달리 나타내지 않는 한, 복수 형태들 역시 포함하는 것으로 의도된다. 용어들 "구비하다", "구비하는", "포함하다", 및/또는 "포함하는" 이 본 명세서에서 사용될 때, 이는 진술된 특징들, 정수들, 단계들, 동작들, 엘리먼트들, 및/또는 컴포넌트들의 존재를 특정하고, 하지만, 하나 이상의 다른 특징들, 정수들, 단계들, 동작들, 엘리먼트들, 컴포넌트들, 및/또는 이들의 그룹들의 존재 또는 부가를 배제하지 않는다는 것이 추가적으로 이해될 것이다.
또한, 많은 양태들이, 예를 들어, 컴퓨팅 디바이스의 엘리먼트들에 의해 수행되는 액션들의 시퀀스들의 관점에서 설명된다. 여기에 설명되는 다양한 액션들은, 특정 회로들 (예를 들어, 주문형 집적 회로 (ASIC)) 에 의해, 하나 이상의 프로세서들에 의해 실행되는 프로그램 명령들에 의해, 또는 이들 양쪽의 조합에 의해, 수행될 수 있음을 인식할 것이다. 부가적으로, 여기에 설명되는 액션들의 이들 시퀀스는, 실행시 관련 프로세서로 하여금 여기에 설명된 기능성을 수행하게 하는 컴퓨터 명령들의 대응하는 셋트가 저장된 임의의 형태의 컴퓨터 판독가능 저장 매체 내에서 완전히 구현되는 것으로 고려될 수 있다. 따라서, 본 개시의 다양한 양태들은 다수의 상이한 형태들로 구현할 수도 있으며, 이들 형태들 모두는 청구된 요지의 범위 내에 있는 것으로 고려된다. 부가적으로, 여기에 설명된 양태들 각각에 대해, 임의의 그러한 양태들의 대응하는 형태는, 예를 들어, 설명된 액션을 수행 "하도록 구성된 로직" 으로서 여기에 설명될 수도 있다.
본 명세서에서 사용된 바와 같이, 용어 "사물 인터넷 (Internet of Things) 디바이스" (또는 "IoT 디바이스") 는 어드레싱가능한 인터페이스 (예를 들어, 인터넷 프로토콜 (IP) 어드레스, 블루투스 식별자 (ID), 근거리장 통신 (NFC) ID 등) 을 갖는 임의의 오브젝트 (예를 들어, 어플라이언스, 센서 등) 를 지칭하는데 사용되고, 유선 또는 무선 연결을 통해 하나 이상의 다른 디바이스들에게 정보를 송신할 수 있다. IoT 디바이스는 QR (quick response) 코드, RFID (radio-frequency identification) 태그, NFC 태그 등과 같은 수동 통신 인터페이스, 또는 모뎀, 트랜시버, 송신기-수신기 등과 같은 능동 통신 인터페이스를 가질 수도 있다. IoT 디바이스는 특정 속성 셋트 (예를 들어, IoT 디바이스가 온인지 아니면 오프인지, 개방되었는지 아니면 폐쇄되었는지, 유휴 상태인지 아니면 활성 상태인지, 태스크 실행을 위해 이용가능한지 아니면 비지 (busy) 상태인지 여부와 같은 디바이스 상태 또는 스테이터스 (status), 냉각 또는 가열 기능, 환경 모니터링 또는 기록 기능, 발광 기능, 사운드 방출 기능 등) 을 가질 수 있으며, 이 속성 셋트는 중앙 프로세싱 유닛 (CPU), 마이크로프로세서, ASIC 등에 임베딩되거나 및/또는 이들에 의해 제어/모니터링될 수 있고, 로컬 애드혹 네트워크 또는 인터넷과 같은 IoT 네트워크로의 연결을 위해 구성될 수 있다. 예를 들어, IoT 디바이스들은, 그 디바이스들이 IoT 네트워크와 통신하기 위한 어드레싱가능한 통신 인터페이스들을 구비하고 있다면, 냉장고들, 토스터들, 오븐들, 전자레인지들, 냉동고들, 식기세척기들, 접시들, 공구들, 세탁기들, 건조기들, 보일러들, 에어컨들, 서모스탯들, 텔레비전들, 조명 기구들, 진공 청소기들, 스프링클러들, 전기 계량기들, 가스 계량기들 등을 포함할 수도 있지만, 이들로 제한되지 않는다. IoT 디바이스들은 또한 휴대폰들, 데스크톱 컴퓨터들, 랩톱 컴퓨터들, 태블릿 컴퓨터들, PDA (personal digital assistant) 들 등을 포함할 수도 있다. 따라서, IoT 네트워크는 통상적으로 인터넷 연결성을 갖지 않는 디바이스들 (예를 들어, 식기세척기들 등) 에 부가적으로, "레거시 (legacy)" 인터넷 액세스가능 디바이스들 (예를 들어, 랩톱 또는 데스크톱 컴퓨터들, 휴대폰들 등) 의 조합으로 구성될 수도 있다.
도 1a 는 본 개시의 양태에 따른 무선 통신 시스템 (100A) 의 하이 레벨 시스템 아키텍처를 예시한다. 무선 통신 시스템 (100A) 은 텔레비전 (110), 실외 에어 컨디셔닝 유닛 (112), 서모스탯 (114), 냉장고 (116) 및 세탁기와 건조기 (118) 를 포함하는 복수의 IoT 디바이스들을 포함한다.
도 1a 를 참조하면, IoT 디바이스들 (110 내지 118) 은 도 1a 에 에어 인터페이스 (108) 및 직접 유선 연결 (109) 로서 도시된 물리적 통신 인터페이스 또는 계층을 통해 액세스 네트워크 (예를 들어, 액세스 포인트 (125)) 와 통신하도록 구성된다. 에어 인터페이스 (108) 는 IEEE 802.11 과 같은 무선 인터넷 프로토콜 (IP) 을 따를 수도 있다. 도 1a 가 에어 인터페이스 (108) 를 통해 통신하는 IoT 디바이스들 (110 내지 118) 및 유선 연결 (109) 을 통해 통신하는 IoT 디바이스 (118) 를 예시하지만, 각각의 IoT 디바이스는 유선 또는 무선 연결을 통해, 또는 이들 양쪽을 통해 통신할 수도 있다.
인터넷 (175) 은 (편의를 위해 도 1a 에 도시되지 않은) 다수의 라우팅 에이전트들 및 프로세싱 에이전트들을 포함한다. 인터넷 (175) 은 상이한 디바이스들/네트워크들 중에서 통신하기 위해 표준 인터넷 프로토콜 묶음 (예를 들어, 송신 제어 프로토콜 (TCP) 및 IP) 을 사용하는, 상호연결된 컴퓨터들 및 컴퓨터 네트워크들의 글로벌 시스템이다. TCP/IP 는 데이터가 목적지에서 어떻게 포맷화되고, 어드레싱되고, 송신되고, 라우팅되며 수신되어야만 하는지를 특정하는 종단간 연결성을 제공한다.
도 1a 에서, 데스크톱 또는 퍼스널 컴퓨터 (PC) 와 같은 컴퓨터 (120) 는 (예를 들어, 이더넷 연결 또는 Wi-Fi 또는 802.11-기반 네트워크를 통해) 인터넷 (175) 에 직접적으로 연결하고 있는 것으로 도시된다. 컴퓨터 (120) 는, 일 예에서, (예를 들어, 유선 및 무선 연결성 양쪽을 갖는 Wi-Fi 라우터에 대해) 액세스 포인트 (125) 자체에 대응할 수 있는, 모뎀 또는 라우터로의 직접 연결과 같은, 인터넷 (175) 으로의 유선 연결을 가질 수도 있다. 대안적으로, 유선 연결을 통해 액세스 포인트 (125) 및 인터넷 (175) 에 연결되는 것보다, 컴퓨터 (120) 는 에어 인터페이스 (108) 또는 다른 무선 인터페이스를 통해 액세스 포인트 (125) 에 연결되고, 에어 인터페이스를 통해 인터넷 (175) 에 액세스 (access) 할 수도 있다. 데스크톱 컴퓨터로서 예시되지만, 컴퓨터 (120) 는 랩톱 컴퓨터, 태블릿 컴퓨터, PDA, 스마트폰 등일 수도 있다. 컴퓨터 (120) 는 IoT 디바이스일 수도 있거나 및/또는 IoT 디바이스들 (110 내지 118) 의 네트워크/그룹과 같은 IoT 네트워크/그룹을 관리하기 위한 기능성을 포함할 수도 있다.
액세스 포인트 (125) 는, 예를 들어, FiOS 와 같은 광학 통신 시스템, 케이블 모뎀, 디지털 가입자 라인 (DSL) 모뎀 등을 통해, 인터넷 (175) 에 연결될 수도 있다. 액세스 포인트 (125) 는 표준 인터넷 프로토콜들 (예를 들어, TCP/IP) 을 사용하여 IoT 디바이스들 (110 내지 120) 및 인터넷 (175) 과 통신할 수도 있다.
도 1a 를 참조하면, IoT 서버 (170) 는 인터넷 (175) 에 연결된 것으로 도시된다. IoT 서버 (170) 는 복수의 구조적으로 별개의 서버들로서 구현될 수 있거나, 대안적으로 단일 서버에 대응할 수도 있다. 일 양태에서, IoT 서버 (170) 는 (점선으로 표시된 바와 같이) 선택적이고, IoT 디바이스들 (110 내지 120) 의 그룹은 피어-투-피어 (P2P) 네트워크일 수도 있다. 이러한 경우에, IoT 디바이스들 (110 내지 120) 은 에어 인터페이스 (108) 및/또는 유선 연결 (109) 을 통해 서로 직접 통신할 수 있다. 대안적으로, 또는 부가적으로, IoT 디바이스들 (110 내지 120) 중 일부 또는 전부는 에어 인터페이스 (108) 및 유선 연결 (109) 과 독립적인 통신 인터페이스로 구성될 수도 있다. 예를 들어, 에어 인터페이스 (108) 가 Wi-Fi 인터페이스에 대응한다면, IoT 디바이스들 (110 내지 120) 중 소정의 IoT 디바이스는 서로 또는 다른 블루투스 또는 NFC-가능 디바이스들과 직접 통신하기 위한 블루투스 또는 NFC 인터페이스들을 가질 수도 있다.
피어-투-피어 네트워크에서, 서비스 추출 방식들은 노드들의 존재, 그들의 능력들, 및 그룹 멤버십을 멀티캐스팅할 수 있다. 피어-투-피어 디바이스들은 이러한 정보에 기초하여 연관들 및 후속하는 상호작용들을 확립할 수 있다.
본 개시의 일 양태에 따라, 도 1b 는 복수의 IoT 디바이스들을 포함하는 다른 무선 통신 시스템 (100B) 의 하이 레벨 아키텍처를 예시한다. 일반적으로, 도 1b 에 도시된 무선 통신 시스템 (100B) 은 더 상세히 위에서 설명되었던 도 1a 에 도시된 무선 통신 시스템 (100A) 과 동일한 및/또는 실질적으로 유사한 다양한 컴포넌트들을 포함할 수도 있다 (예를 들어, 에어 인터페이스 (108) 및/또는 직접 유선 연결 (109) 을 통해 액세스 포인트 (125) 와 통신하도록 구성된 텔레비전 (110), 실외 에어 컨디셔닝 유닛 (112), 서모스탯 (114), 냉장고 (116), 및 세탁기와 건조기 (118) 를 포함하는 다양한 IoT 디바이스들, 인터넷 (175) 에 직접적으로 연결하거나 및/또는 액세스 포인트 (125) 를 통해 인터넷 (175) 에 연결하는 컴퓨터 (120), 및 인터넷 (175) 을 통해 액세스가능한 IoT 서버 (170) 등). 이와 같이, 설명의 간결함 및 용이함을 위해, 도 1b 에 도시된 무선 통신 시스템 (100B) 에서의 특정 컴포넌트들에 관련된 다양한 상세들은, 그 동일하거나 유사한 상세들이 도 1a 에 예시된 무선 통신 시스템 (100A) 과 관련하여 위에서 이미 제공되었던 정도까지는 여기에서 생략될 수도 있다.
도 1b 를 참조하면, 무선 통신 시스템 (100B) 은 대안적으로 IoT 관리자 (130) 또는 IoT 관리자 디바이스 (130) 라고 지칭될 수도 있는 수퍼바이저 디바이스 (130) 를 포함할 수도 있다. 이와 같이, 다음 설명이 용어 "수퍼바이저 디바이스" (130) 를 사용할 경우, 통상의 기술자는 IoT 관리자, 그룹 소유자 또는 유사한 기술용어에 대한 어떠한 언급들도 수퍼바이저 디바이스 (130) 또는 동일하거나 실질적으로 유사한 기능성을 제공하는 다른 물리적 또는 논리적 컴포넌트를 지칭할 수도 있음을 인지할 것이다.
하나의 실시형태에서, 수퍼바이저 디바이스 (130) 는 무선 통신 시스템 (100B) 에서 다양한 다른 컴포넌트들을 일반적으로 관찰하거나, 모니터링하거나, 제어하거나, 또는 그렇지 않으면 관리할 수도 있다. 예를 들어, 수퍼바이저 디바이스 (130) 는 에어 인터페이스 (108) 및/또는 직접 유선 연결 (109) 을 통해 액세스 네트워크 (예를 들어, 액세스 포인트 (125)) 와 통신하여 무선 통신 시스템 (100B) 에서 다양한 IoT 디바이스들 (110 내지 120) 과 연관된 속성들, 활동들 또는 다른 상태들을 모니터링하거나 관리할 수 있다. 수퍼바이저 디바이스 (130) 는 인터넷 (175) 으로의 및 선택적으로 (점선으로 도시된) IoT 서버 (170) 로의 유선 또는 무선 연결을 가질 수도 있다. 수퍼바이저 디바이스 (130) 는 다양한 IoT 디바이스들 (110 내지 120) 과 연관된 속성들, 활동들 또는 다른 상태들을 추가로 모니터링하거나 관리하기 위해 사용될 수 있는 정보를 인터넷 (175) 및/또는 IoT 서버 (170) 로부터 획득할 수도 있다. 수퍼바이저 디바이스 (130) 는 컴퓨터 (120) 와 같은 IoT 디바이스들 (110 내지 120) 중 하나 또는 자립형 디바이스일 수도 있다. 수퍼바이저 디바이스 (130) 는 물리적 디바이스 또는 물리적 디바이스 상에서 실행하는 소프트웨어 애플리케이션일 수도 있다. 수퍼바이저 디바이스 (130) 는, IoT 디바이스들 (110 내지 120) 과 연관된 모니터링된 속성들, 활동들 또는 다른 상태들과 관련된 정보를 출력하고, 연관된 속성들, 활동들 또는 다른 상태들을 제어하거나 또는 그렇지 않으면 관리하기 위해 입력 정보를 수신할 수 있는 사용자 인터페이스를 포함할 수도 있다. 따라서, 수퍼바이저 디바이스 (130) 는 무선 통신 시스템 (100B) 에서 다양한 컴포넌트들을 관찰하거나, 모니터링하거나, 제어하거나, 또는 그렇지 않으면 관리하기 위해 일반적으로 다양한 컴포넌트들을 포함하고 다양한 유선 및 무선 통신 인터페이스들을 지원할 수도 있다.
도 1b 에 도시된 무선 통신 시스템 (100B) 은, 무선 통신 시스템 (100B) 에 커플링되거나 또는 그렇지 않으면 무선 통신 시스템 (100B) 의 부분을 이룰 수 있는 (능동 IoT 디바이스들 (110 내지 120) 과는 대조적인) 하나 이상의 수동 IoT 디바이스들 (105) 을 포함할 수도 있다. 일반적으로, 수동 IoT 디바이스들 (105) 은 바코드 디바이스들, 블루투스 디바이스들, 무선 주파수 (RF) 디바이스들, RFID 태그 디바이스들, 적외선 (IR) 디바이스들, NFC 태그 디바이스들, 또는 단거리 인터페이스를 통해 질의될 경우 그 식별자 및 속성들을 다른 디바이스에 제공할 수 있는 임의의 다른 적합한 디바이스를 포함할 수도 있다. 능동 IoT 디바이스들은 수동 IoT 디바이스들의 속성들에 있어서의 변화들을 검출하고, 저장하고, 통신하고, 영향을 주는 것 등을 할 수도 있다.
예를 들어, 수동 IoT 디바이스들 (105) 은 각각 RFID 태그 또는 바코드를 갖는 커피잔 및 오렌지주스 용기를 포함할 수도 있다. 캐비닛 IoT 디바이스 및 냉장고 IoT 디바이스 (116) 는 각각, 커피잔 및/또는 오렌지주스 용기 수동 IoT 디바이스들 (105) 이 부가되거나 제거되었을 때를 검출하기 위해 RFID 태그 또는 바코드를 판독할 수 있는 적절한 스캐너 또는 판독기를 가질 수도 있다. 캐비닛 IoT 디바이스가 커피잔 수동 IoT 디바이스 (105) 의 제거를 검출하는 것 및 냉장고 IoT 디바이스 (116) 가 오렌지주스 용기 수동 IoT 디바이스의 제거를 검출하는 것에 응답하여, 수퍼바이저 디바이스 (130) 는 캐비닛 IoT 디바이스 및 냉장고 IoT 디바이스 (116) 에서 검출된 활동들과 관련된 하나 이상의 신호들을 수신할 수도 있다. 수퍼바이저 디바이스 (130) 는 그 후에, 사용자가 커피잔으로부터의 오렌지주스를 마시고 있음 및/또는 커피잔으로부터의 오렌지주스를 마시기를 원함을 추론할 수도 있다.
전술한 것은 수동 IoT 디바이스들 (105) 이 RF 또는 바코드 통신 인터페이스들의 일부 형태를 갖는 것으로 설명하지만, 수동 IoT 디바이스들 (105) 은 이러한 통신 능력들을 갖지 않는 다른 물리적 오브젝트들 또는 하나 이상의 디바이스들을 포함할 수도 있다. 예를 들어, 특정 IoT 디바이스들은 수동 IoT 디바이스들 (105) 을 식별하기 위해 수동 IoT 디바이스들 (105) 과 연관된 형상들, 사이즈들, 컬러들, 및/또는 다른 관찰가능한 피처들을 검출할 수 있는 적절한 스캐너 또는 판독기 메커니즘들을 가질 수도 있다. 이러한 방식으로, 임의의 적합한 물리적 오브젝트는 그 식별자 및 속성들을 통신하고 무선 통신 시스템 (100B) 의 부분이 되고, 수퍼바이저 디바이스 (130) 로 관찰되거나, 모니터링되거나, 제어되거나, 또는 그렇지 않으면 관리될 수도 있다. 추가로, 수동 IoT 디바이스들 (105) 은 도 1a 의 무선 통신 시스템 (100A) 에 커플링되거나, 또는 그렇지 않으면 그 부분을 이룰 수도 있고, 실질적으로 유사한 방식으로 관찰되거나, 모니터링되거나, 제어되거나, 또는 그렇지 않으면 관리될 수도 있다.
본 개시의 다른 양태에 따라, 도 1c 는 복수의 IoT 디바이스들을 포함하는 다른 무선 통신 시스템 (100C) 의 하이 레벨 아키텍처를 예시한다. 일반적으로, 도 1c 에 도시된 무선 통신 시스템 (100C) 은 더 상세히 위에서 설명되었던 도 1a 및 도 1b 에 각각 도시된 무선 통신 시스템들 (100A 및 100B) 과 동일한 및/또는 실질적으로 유사한 다양한 컴포넌트들을 포함할 수도 있다. 이와 같이, 설명의 간결함 및 용이함을 위해, 도 1b 에 도시된 무선 통신 시스템 (100B) 에서의 특정 컴포넌트들에 관련된 다양한 상세들은, 그 동일하거나 유사한 상세들이 도 1a 에 예시된 무선 통신 시스템 (100A) 과 관련하여 위에서 이미 제공되었던 정도까지는 여기에서 생략될 수도 있다.
도 1c 에 도시된 통신 시스템 (100C) 은 IoT 디바이스들 (110 내지 118) 과 수퍼바이저 디바이스 (130) 사이의 예시적인 피어-투-피어 통신들을 예시한다. 도 1c 에 도시된 바와 같이, 수퍼바이저 디바이스 (130) 는 IoT 수퍼바이저 인터페이스를 통해 IoT 디바이스들 (110 내지 118) 각각과 통신한다. 추가로, IoT 디바이스들 (110 및 114), IoT 디바이스들 (112, 114, 및 116), 및 IoT 디바이스들 (116 및 118) 은 서로 직접 통신한다.
IoT 디바이스들 (110 내지 118) 은 IoT 그룹 (160) 을 형성한다. IoT 디바이스 그룹 (160) 은 로컬로 연결된 IoT 디바이스들, 예컨대, 사용자의 홈 네트워크에 연결된 IoT 디바이스들의 그룹이다. 도시되지는 않았지만, 다수의 IoT 디바이스 그룹들은 인터넷 (175) 에 연결된 IoT 수퍼에이전트 (140) 를 통해 서로 통신하거나 및/또는 연결될 수도 있다. 하이 레벨에서, 수퍼바이저 디바이스 (130) 는 그룹내 통신들을 관리하는 한편, IoT 수퍼에이전트 (140) 는 그룹간 통신들을 관리할 수 있다. 별개의 디바이스들로 도시되었지만, 수퍼바이저 디바이스 (130) 및 IoT 수퍼에이전트 (140) 는 동일한 디바이스 (예를 들어, 도 1a 의 컴퓨터 (120) 와 같은 IoT 디바이스 또는 자립형 디바이스) 이거나, 그 동일한 디바이스 상에 상주할 수도 있다. 대안적으로, IoT 수퍼에이전트 (140) 는 액세스 포인트 (125) 의 기능성에 대응하거나 이를 포함할 수도 있다. 또 다른 대안적으로서, IoT 수퍼에이전트 (140) 는 IoT 서버 (170) 와 같은 IoT 서버의 기능성에 대응하거나 이를 포함할 수도 있다. IoT 수퍼에이전트 (140) 는 게이트웨이 기능성 (145) 을 함축할 수도 있다.
각각의 IoT 디바이스 (110 내지 118) 는 수퍼바이저 디바이스 (130) 를 피어 (peer) 로서 취급할 수 있고, 속성/스키마 업데이트들을 수퍼바이저 디바이스 (130) 에 송신할 수 있다. IoT 디바이스가 다른 IoT 디바이스와 통신할 필요가 있을 때, 그 IoT 디바이스는 수퍼바이저 디바이스 (130) 로부터 그 IoT 디바이스까지의 포인터를 요청하고, 그 후에 피어로서 타깃 IoT 디바이스와 통신할 수 있다. IoT 디바이스들 (110 내지 118) 은 공통 메세징 프로토콜 (CMP) 을 사용하여 피어-투-피어 통신 네트워크를 통해 서로 통신한다. 2개의 IoT 디바이스들이 CMP-인에이블되고, 공통 통신 전송을 통해 연결되기만 한다면, 이 디바이스들은 서로 통신할 수 있다. 프로토콜 스택에서, CMP 계층 (154) 은 애플리케이션 계층 (152) 밑에 있고, 전송 계층 (156) 및 물리 계층 (158) 위에 있다.
본 개시의 다른 양태에 따라, 도 1d 는 복수의 IoT 디바이스들을 포함하는 다른 무선 통신 시스템 (100D) 의 하이 레벨 아키텍처를 예시한다. 일반적으로, 도 1d 에 도시된 무선 통신 시스템 (100D) 은 더 상세히 위에서 설명되었던 도 1a 내지 도 1c 에 각각 도시된 무선 통신 시스템들 (100A 내지 100C) 과 동일한 및/또는 실질적으로 유사한 다양한 컴포넌트들을 포함할 수도 있다. 이와 같이, 설명의 간결함 및 용이함을 위해, 도 1d 에 도시된 무선 통신 시스템 (100D) 에서의 특정 컴포넌트들에 관련된 다양한 상세들은, 그 동일하거나 유사한 상세들이 각각 도 1a 내지 도 1c 에 예시된 무선 통신 시스템들 (100A 내지 100C) 과 관련하여 위에서 이미 제공되었던 정도까지는 여기에서 생략될 수도 있다.
인터넷 (175) 은 IoT 의 개념을 사용하여 규제될 수 있는 "리소스 (resource)" 이다. 그러나, 인터넷 (175) 은 규제되는 리소스의 단 하나의 예이고, 어떤 리소스라도 IoT 의 개념을 사용하여 규제될 수 있다. 규제될 수 있는 다른 리소스들은 전기, 가스, 스토리지, 보안물 등을 포함하지만, 이들로 제한되지 않는다. IoT 디바이스는 리소스에 연결되어 리소스를 규제할 수도 있거나, 또는 리소스는 인터넷 (175) 을 통해 규제될 수 있다. 도 1d 는 천연 가스, 가솔린, 온수, 및 전기와 같은 몇몇 리소스들 (180) 을 도시하며, 여기서 리소스들 (180) 은 인터넷 (175) 에 부가적으로 및/또는 인터넷 (175) 을 통해 규제될 수 있다.
IoT 디바이스들은 리소스 (180) 의 사용을 규제하기 위해 서로 통신할 수 있다. 예를 들어, 토스터, 컴퓨터 및 헤어드라이어와 같은 IoT 디바이스들은 전기 (리소스 (180)) 의 사용을 규제하기 위해 블루투스 통신 인터페이스를 통해 서로 통신할 수도 있다. 다른 예로서, 데스크톱 컴퓨터, 전화기, 및 태블릿 컴퓨터와 같은 IoT 디바이스들은 인터넷 (175) (리소스 (180)) 으로의 액세스를 규제하기 위해 Wi-Fi 통신 인터페이스를 통해 통신할 수도 있다. 또 다른 예로서, 난로, 의류 건조기, 및 온수기와 같은 IoT 디바이스들은 가스의 사용을 규제하기 위해 Wi-Fi 통신 인터페이스를 통해 통신할 수도 있다. 대안적으로 또는 부가적으로, 각각의 IoT 디바이스는 IoT 디바이스들로부터 수신된 정보에 기초하여 리소스 (180) 의 사용을 규제하기 위한 로직을 갖는 IoT 서버, 예컨대, IoT 서버 (170) 에 연결될 수도 있다.
본 개시의 또 다른 양태에 따라, 도 1e 는 복수의 IoT 디바이스들을 포함하는 다른 무선 통신 시스템 (100E) 의 하이 레벨 아키텍처를 예시한다. 일반적으로, 도 1e 에 도시된 무선 통신 시스템 (100E) 은 더 상세히 위에서 설명되었던 도 1a 내지 도 1d 에 각각 도시된 무선 통신 시스템들 (100A 내지 100D) 과 동일한 및/또는 실질적으로 유사한 다양한 컴포넌트들을 포함할 수도 있다. 이와 같이, 설명의 간결함 및 용이함을 위해, 도 1e 에 도시된 무선 통신 시스템 (100E) 에서의 특정 컴포넌트들에 관련된 다양한 상세들은, 그 동일하거나 유사한 상세들이 각각 도 1a 내지 도 1d 에 도시된 무선 통신 시스템들 (100A 내지 100D) 과 관련하여 위에서 이미 제공되었던 정도까지는 여기에서 생략될 수도 있다.
통신 시스템 (100E) 은 2개의 IoT 디바이스 그룹들 (160A 및 160B) 을 포함한다. 다수의 IoT 디바이스 그룹들은 인터넷 (175) 에 연결된 IoT 수퍼에이전트를 통해 서로 통신하거나 및/또는 연결될 수도 있다. 하이 레벨에서, IoT 수퍼에이전트는 IoT 디바이스 그룹들 중에서 그룹간 통신들을 관리할 수도 있다. 예를 들어, 도 1e 에서, IoT 디바이스 그룹 (160A) 은 IoT 디바이스들 (116A, 122A, 및 124A) 과 IoT 수퍼에이전트 (140A) 를 포함하는 한편, IoT 디바이스 그룹 (160B) 은 IoT 디바이스들 (116B, 122B, 및 124B) 과 IoT 수퍼에이전트 (140B) 를 포함한다. 이와 같이, IoT 수퍼에이전트들 (140A 및 140B) 은 IoT 디바이스 그룹들 (160A 및 160B) 간의 통신을 용이하게 하도록, 인터넷 (175) 에 연결하고, 인터넷 (175) 을 통해 서로 통신하거나 및/또는 서로 직접 통신할 수도 있다. 또한, 도 1e 가 IoT 수퍼에이전트들 (160A 및 160B) 을 통해 서로 통신하는 2개의 IoT 디바이스 그룹들 (160A 및 160B) 을 예시하지만, 통상의 기술자는 임의의 수의 IoT 디바이스 그룹들이 IoT 수퍼에이전트들을 사용하여 서로 적절히 통신할 수도 있다는 것을 인지할 것이다.
도 2a 는 본 개시의 양태들에 따른 IoT 디바이스 (200A) 의 하이 레벨 예를 예시한다. 외부의 외관들 및/또는 내부 컴포넌트들이 IoT 디바이스들 중에서 상당히 상이할 수 있지만, 대부분의 IoT 디바이스들은 디스플레이 및 사용자 입력을 위한 수단을 포함할 수도 있는 임의의 종류의 사용자 인터페이스를 가질 것이다. 사용자 인터페이스가 없는 IoT 디바이스들은 도 1a 및 도 1b 에서의 에어 인터페이스 (108) 와 같은 유선 또는 무선 네트워크를 통해 원격으로 통신될 수 있다.
도 2a 에 도시된 바와 같이, IoT 디바이스 (200A) 에 대한 일 예시적인 구성에서, IoT 디바이스 (200A) 의 외부 케이싱은, 당업계에 공지된 바와 같이, 다른 컴포넌트들 중에서도, 디스플레이 (226), 전원 버튼, 및 2개의 제어 버튼들 (224A 및 224B) 로 구성될 수도 있다. 디스플레이 (226) 는 터치스크린 디스플레이일 수도 있고, 이 경우에 제어 버튼들 (224A 및 224B) 이 필요하지 않을 수도 있다. IoT 디바이스 (200A) 의 부분으로서 명시적으로 도시된 것은 아니지만, IoT 디바이스 (200A) 는, Wi-Fi 안테나들, 셀룰러 안테나들, 위성 포지션 시스템 (SPS) 안테나들 (예를 들어, 글로벌 포지셔닝 시스템 (GPS) 안테나들) 등을 포함하지만 이들로 제한되지 않는, 외부 케이싱 내에 장착된 하나 이상의 외부 안테나들 및/또는 하나 이상의 통합형 안테나들을 포함할 수도 있다.
IoT 디바이스 (200A) 와 같은 IoT 디바이스들의 내부 컴포넌트들이 상이한 하드웨어 구성들로 구현될 수 있지만, 내부 하드웨어 컴포넌트들에 대한 기본 하이 레벨 구성은 도 2a 에 플랫폼 (202) 으로서 도시된다. 플랫폼 (202) 은 도 1a 및 도 1b 에서의 에어 인터페이스 (108) 와 같은 네트워크 인터페이스 및/또는 유선 인터페이스를 통해 송신된 소프트웨어 애플리케이션들, 데이터 및/또는 커맨드들을 수신하고 실행할 수 있다. 플랫폼 (202) 은 또한 로컬로 저장된 애플리케이션들을 독립적으로 실행할 수 있다. 플랫폼 (202) 은 하나 이상의 프로세서들 (208), 예컨대, 일반적으로 프로세서 (208) 라고 지칭되는, 마이크로제어기, 마이크로프로세서, 주문형 집적 회로, 디지털 신호 프로세서 (DSP), 프로그래밍가능 로직 회로, 또는 다른 데이터 프로세싱 디바이스에 동작가능하게 커플링된, 유선 및/또는 무선 통신을 위해 구성된 하나 이상의 트랜시버들 (206) (예를 들어, Wi-Fi 트랜시버, 블루투스 트랜시버, 셀룰러 트랜시버, 위성 트랜시버, GPS 또는 SPS 수신기 등) 을 포함할 수 있다. 프로세서 (208) 는 IoT 디바이스의 메모리 (212) 내의 애플리케이션 프로그래밍 명령들을 실행할 수 있다. 메모리 (212) 는 판독 전용 메모리 (ROM), 랜덤 액세스 메모리 (RAM), 전기적으로 소거가능한 프로그래밍가능 ROM (EEPROM), 플래시 카드들, 또는 컴퓨터 플랫폼들에 공통인 임의의 메모리 중 하나 이상을 포함할 수 있다. 하나 이상의 입력/출력 (I/O) 인터페이스들 (214) 은, 프로세서 (208) 로 하여금 예시된 디스플레이 (226), 전원 버튼 (222), 제어 버튼들 (224A 및 224B) 과 같은 다양한 I/O 디바이스들 및 IoT 디바이스 (200A) 과 연관된 센서들, 액추에이터들, 중계기들, 밸브들, 스위치들 등과 같은 임의의 다른 디바이스들과 통신하게 하고 이들을 제어하게 하도록 구성될 수 있다.
따라서, 본 개시의 일 양태는 본원에서 설명한 기능들을 수행하는 능력을 포함하는 IoT 디바이스 (예컨대, IoT 디바이스 (200A)) 를 포함할 수 있다. 본 기술 분야의 통상의 기술자가 알 수 있는 바와 같이, 다양한 논리 엘리먼트들이 본원에서 개시된 기능을 달성하기 위해서 개별 엘리먼트들 (discrete elements), 프로세서 (예를 들어, 프로세서 (208)) 상에서 실행되는 소프트웨어 모듈들 또는 소프트웨어와 하드웨어의 임의의 조합에서 구현될 수 있다. 예를 들어, 트랜시버 (206), 프로세서 (208), 메모리 (212), 및 I/O 인터페이스 (214) 는 모두 본원에서 개시된 다양한 기능들을 로딩, 저장 및 실행하기 위해서 협동적으로 사용될 수 있으며, 따라서 이들 기능들을 수행하는 로직은 다양한 엘리먼트들에 걸쳐서 분포할 수도 있다. 다르게는, 이 기능은 하나의 개별 컴포넌트내에 포함될 수 있다. 따라서, 도 2a 에서 IoT 디바이스 (200A) 의 특징들은 단지 예시적인 것으로 고려되야 하고, 본 개시는 예시된 특징들 또는 배열에 한정되지 않는다.
도 2b 는 본 개시의 양태들에 따른 IoT 디바이스 (200B) 의 하이 레벨 예를 예시한다. 일반적으로, 도 2b 에 도시된 수동 IoT 디바이스 (200B) 는 더 상세히 위에서 설명되었던 도 2a 에 도시된 IoT 디바이스 (200A) 와 동일한 및/또는 실질적으로 유사한 다양한 컴포넌트들을 포함할 수도 있다. 이와 같이, 설명의 간결함 및 용이함을 위해, 도 2b 에 도시된 수동 IoT 디바이스 (200B) 에서의 특정 컴포넌트들에 관련된 다양한 상세들은, 그 동일하거나 유사한 상세들이 도 2a 에 예시된 IoT 디바이스 (200A) 과 관련하여 위에서 이미 제공되었던 정도까지는 여기에서 생략될 수도 있다.
도 2b 에 도시된 수동 IoT 디바이스 (200B) 는, 수동 IoT 디바이스 (200B) 가 프로세서, 내부 메모리, 또는 특정한 다른 컴포넌트들을 갖지 않을 수도 있다는 점에서, 일반적으로 도 2a 에 도시된 IoT 디바이스 (200A) 와 상이할 수도 있다. 대신에, 하나의 실시형태에서, 수동 IoT 디바이스 (200A) 는 오직 I/O 인터페이스 (214) 또는 수동 IoT 디바이스 (200B) 가 제어형 IoT 네트워크 내에서 관찰되거나, 모니터링되거나, 제어되거나, 관리되거나, 또는 그렇지 않으면 알게 되는 다른 적합한 메커니즘을 포함할 수도 있다. 예를 들어, 하나의 실시형태에서, 수동 IoT 디바이스 (200B) 와 연관된 I/O 인터페이스 (214) 는 바코드, 블루투스 인터페이스, 무선 주파수 (RF) 인터페이스, RFID 태그, IR 인터페이스, NFC 인터페이스, 또는 단거리 인터페이스를 통해 질의될 경우 수동 IoT 디바이스 (200B) 와 연관된 식별자 및 속성들을 다른 디바이스 (예를 들어, 수동 IoT 디바이스 (200B) 와 연관된 속성들과 관련된 정보를 검출하거나, 저장하거나, 통신하거나, 그에 작용하거나, 또는 그렇지 않으면 프로세싱할 수 있는 능동 IoT 디바이스, 예컨대, IoT 디바이스 (200A)) 에 제공할 수 있는 임의의 다른 적합한 I/O 인터페이스를 포함할 수도 있다.
전술한 것이 수동 IoT 디바이스 (200B) 가 RF, 바코드, 또는 다른 I/O 인터페이스 (214) 를 갖는 것으로 설명하지만, 수동 IoT 디바이스 (200B) 는 이러한 I/O 인터페이스 (214) 를 갖지 않는 디바이스 또는 다른 물리적 오브젝트를 포함할 수도 있다. 예를 들어, 특정 IoT 디바이스들은 수동 IoT 디바이스 (200B) 를 식별하기 위해 수동 IoT 디바이스 (200B) 와 연관된 형상들, 사이즈들, 컬러들, 및/또는 다른 관찰가능한 피처들을 검출할 수 있는 적절한 스캐너 또는 판독기 메커니즘들을 가질 수도 있다. 이러한 방식으로, 임의의 적절한 물리적 오브젝트는 그 식별자 및 속성들을 통신하고, 제어형 IoT 네트워크 내에서 관찰되거나, 모니터링되거나, 제어되거나, 또는 그렇지 않으면 관리될 수도 있다.
도 3 은 기능성을 수행하도록 구성된 로직을 포함하는 통신 디바이스 (300) 를 예시한다. 통신 디바이스 (300) 는 IoT 디바이스들 (110 내지 120), IoT 디바이스 (200A), 인터넷 (175) 에 커플링된 임의의 컴포넌트들 (예를 들어, IoT 서버 (170)) 등을 포함하지만 이들로 제한되지 않는 전술된 통신 디바이스들 중 임의의 것에 대응할 수 있다. 따라서, 통신 디바이스 (300) 는 도 1a 내지 도 1b 의 무선 통신 시스템들 (100A 내지 100B) 을 통해 하나 이상의 다른 엔티티들과 통신하도록 (또는 그들과의 통신을 용이하게 하도록) 구성된 임의의 전자 디바이스에 대응할 수 있다.
도 3 을 참조하면, 통신 디바이스 (300) 는 정보를 수신 및/또는 송신하도록 구성된 로직 (305) 을 포함한다. 일 예에서, 통신 디바이스 (300) 가 무선 통신 디바이스 (예를 들어, IoT 디바이스 (200A) 및/또는 수동 IoT 디바이스 (200B)) 에 대응한다면, 정보를 수신 및/또는 송신하도록 구성된 로직 (305) 은 무선 트랜시버 및 연관된 하드웨어 (예를 들어, RF 안테나, MODEM, 변조기 및/또는 복조기 등) 와 같은 무선 통신 인터페이스 (예를 들어, 블루투스, Wi-Fi, Wi-Fi 다이렉트, 롱-텀 에볼루션 (LTE) 다이렉트 등) 를 포함할 수 있다. 다른 예에서, 정보를 수신 및/또는 송신하도록 구성된 로직 (305) 은 유선 통신 인터페이스 (예를 들어, 직렬 연결, USB 또는 파이어와이어 연결, 인터넷 (175) 이 액세스될 수 있는 이더넷 연결 등) 에 대응할 수 있다. 따라서, 통신 디바이스 (300) 가 몇몇 타입의 네트워크 기반 서버 (예를 들어, 애플리케이션 (170)) 에 대응한다면, 정보를 수신 및/또는 송신하도록 구성된 로직 (305) 은, 일 예에서, 이더넷 프로토콜을 통해 네트워크 기반 서버를 다른 통신 엔티티들에 연결하는 이더넷 카드에 대응할 수 있다. 추가의 예에서, 정보를 수신 및/또는 송신하도록 구성된 로직 (305) 은 통신 디바이스 (300) 가 그의 로컬 환경 (예를 들어, 가속도계, 온도 센서, 광 센서, 로컬 RF 신호들을 모니터링하는 안테나 등) 을 모니터링할 수 있게 하는 센서류 또는 측정 하드웨어를 포함할 수 있다. 정보를 수신 및/또는 송신하도록 구성된 로직 (305) 은 또한, 실행될 경우, 정보를 수신 및/또는 송신하도록 구성된 로직 (305) 의 연관된 하드웨어가 그의 수신 및/또는 송신 기능(들) 을 수행하게 하는 소프트웨어를 포함할 수 있다. 그러나, 정보를 수신 및/또는 송신하도록 구성된 로직 (305) 은 소프트웨어 단독으로만 대응하는 것은 아니며, 정보를 수신 및/또는 송신하도록 구성된 로직 (305) 은 그의 기능성을 달성하도록 하드웨어에 적어도 부분적으로 의존한다.
도 3 을 참조하면, 통신 디바이스 (300) 는 정보를 프로세싱하도록 구성된 로직 (310) 을 더 포함한다. 일 예에서, 정보를 프로세싱하도록 구성된 로직 (310) 은 적어도 프로세서를 포함할 수 있다. 정보를 프로세싱하도록 구성된 로직 (310) 에 의해 수행될 수 있는 프로세싱 타입의 예시적 구현들은 결정들을 수행하는 것, 연결들을 확립하는 것, 상이한 정보 옵션들 사이에서 선택들을 하는 것, 데이터에 관련된 평가들을 수행하는 것, 통신 디바이스 (300) 에 커플링된 센서들과 상호작용하여 측정 동작들을 수행하는 것, 하나의 포맷으로부터 다른 포맷으로 (예를 들어, .wmv 내지 .avi 등과 같은 상이한 프로토콜들 사이에서) 정보를 변환하는 것을 포함하지만, 이들로 제한되지 않는다. 예를 들어, 정보를 프로세싱하도록 구성된 로직 (310) 에 포함된 프로세서는 범용 프로세서, DSP, ASIC, 필드 프로그래밍가능 게이트 어레이 (FPGA) 또는 다른 프로그래밍가능 로직 디바이스, 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 컴포넌트들, 또는 여기에 설명된 기능들을 수행하도록 설계된 이들의 임의의 조합에 대응할 수 있다. 범용 프로세서는 마이크로프로세서일 수도 있지만, 대안적으로, 프로세서는 임의의 종래의 프로세서, 제어기, 마이크로제어기, 또는 상태 머신일 수도 있다. 프로세서는 또한 컴퓨팅 디바이스들의 조합 (예를 들어, DSP 와 마이크로프로세서의 조합, 복수의 마이크로프로세서들, DSP 코어와 결합된 하나 이상의 마이크로프로세서들, 또는 임의의 다른 이러한 구성) 으로서 구현될 수도 있다. 정보를 프로세싱하도록 구성된 로직 (310) 은 또한, 실행될 경우, 정보를 프로세싱하도록 구성된 로직 (310) 의 연관된 하드웨어가 그의 프로세싱 기능(들) 을 수행하게 하는 소프트웨어를 포함할 수 있다. 그러나, 정보를 프로세싱하도록 구성된 로직 (310) 은 소프트웨어 단독으로만 대응하는 것은 아니며, 정보를 프로세싱하도록 구성된 로직 (310) 은 그의 기능성을 달성하도록 하드웨어에 적어도 부분적으로 의존한다.
도 3 을 참조하면, 통신 디바이스 (300) 는 정보를 저장하도록 구성된 로직 (315) 을 더 포함한다. 일 예에서, 정보를 저장하도록 구성된 로직 (315) 은 적어도 비일시적 메모리 및 연관된 하드웨어 (예를 들어, 메모리 제어기 등) 를 포함할 수 있다. 예를 들어, 정보를 저장하도록 구성된 로직 (315) 에 포함된 비일시적 메모리는 RAM, 플래시 메모리, ROM, 소거가능한 프로그래밍가능 ROM (EPROM), EEPROM, 레지스터들, 하드 디스크, 탈착가능한 디스크, CD-ROM, 또는 당업계에 공지된 임의의 다른 형태의 저장 매체에 대응할 수 있다. 정보를 저장하도록 구성된 로직 (315) 은 또한, 실행될 경우, 정보를 저장하도록 구성된 로직 (315) 의 연관된 하드웨어가 그의 저장 기능(들) 을 수행하게 하는 소프트웨어를 포함할 수 있다. 그러나, 정보를 저장하도록 구성된 로직 (315) 은 소프트웨어 단독으로만 대응하는 것은 아니며, 정보를 저장하도록 구성된 로직 (315) 은 그의 기능성을 달성하도록 하드웨어에 적어도 부분적으로 의존한다.
도 3 을 참조하면, 통신 디바이스 (300) 는 정보를 제시하도록 구성된 로직 (320) 을 선택적으로 더 포함한다. 일 예에서, 정보를 제시하도록 구성된 로직 (320) 은 적어도 출력 디바이스 및 연관된 하드웨어를 포함할 수 있다. 예를 들어, 출력 디바이스는 비디오 출력 디바이스 (예를 들어, 디스플레이 스크린, USB, HDMI 와 같이 비디오 정보를 전달할 수 있는 포트 등) 및 오디오 출력 디바이스 (예를 들어, 스피커들, 마이크로폰 잭, USB, HDMI 와 같은 오디오 정보를 전달할 수 있는 포트 등), 진동 디바이스 및/또는 정보가 출력을 위해 포맷화될 수 있게 하거나 또는 통신 디바이스 (300) 의 사용자 또는 오퍼레이터에 의해 실질적으로 출력될 수 있게 하는 임의의 다른 디바이스를 포함할 수 있다. 예를 들어, 통신 디바이스 (300) 가 도 2a 에 도시된 것과 같은 IoT 디바이스 (200A) 및/또는 도 2b 에 도시된 것과 같은 수동 IoT 디바이스 (200B) 에 대응한다면, 정보를 제시하도록 구성된 로직 (320) 은 디스플레이 (226) 를 포함할 수 있다. 추가의 예에서, 정보를 제시하도록 구성된 로직 (320) 은 특정 통신 디바이스들, 예컨대, 로컬 사용자를 갖지 않는 네트워크 통신 디바이스들 (예를 들어, 네트워크 스위치들 또는 라우터들, 원격 서버들 등) 에 대해 생략될 수 있다. 정보를 제시하도록 구성된 로직 (320) 은 또한, 실행될 경우, 정보를 제시하도록 구성된 로직 (320) 의 연관된 하드웨어가 그의 프리젠테이션 기능(들) 을 수행하게 하는 소프트웨어를 포함할 수 있다. 그러나, 정보를 제시하도록 구성된 로직 (320) 은 소프트웨어 단독으로만 대응하는 것은 아니며, 정보를 제시하도록 구성된 로직 (320) 은 그의 기능성을 달성하도록 하드웨어에 적어도 부분적으로 의존한다.
도 3 을 참조하면, 통신 디바이스 (300) 는 로컬 사용자 입력을 수신하도록 구성된 로직 (325) 을 선택적으로 더 포함한다. 일 예에서, 로컬 사용자 입력을 수신하도록 구성된 로직 (325) 은 적어도 사용자 입력 디바이스 및 연관된 하드웨어를 포함할 수 있다. 예를 들어, 사용자 입력 디바이스는 버튼들, 터치스크린 디스플레이, 키보드, 카메라, 오디오 입력 디바이스 (예를 들어, 마이크로폰, 또는 마이크로폰 잭과 같이 오디오 정보를 전달할 수 있는 포트 등), 및/또는 정보가 통신 디바이스 (300) 의 사용자 또는 오퍼레이터로부터 수신될 수 있게 하는 임의의 다른 디바이스를 포함할 수 있다. 예를 들어, 통신 디바이스 (300) 가 도 2a 에 도시된 것과 같은 IoT 디바이스 (200A) 및/또는 도 2b 에 도시된 것과 같은 수동 IoT 디바이스 (200B) 에 대응한다면, 로컬 사용자 입력을 수신하도록 구성된 로직 (325) 은 버튼들 (222, 224A, 및 224B), (터치스크린인 경우) 디스플레이 (226) 등을 포함할 수 있다. 추가의 예에서, 로컬 사용자 입력을 수신하도록 구성된 로직 (325) 은 특정 통신 디바이스들, 예컨대, 로컬 사용자를 갖지 않는 네트워크 통신 디바이스들 (예를 들어, 네트워크 스위치들 또는 라우터들, 원격 서버들 등) 에 대해 생략될 수 있다. 로컬 사용자 입력을 수신하도록 구성된 로직 (325) 은 또한, 실행될 경우, 로컬 사용자 입력을 수신하도록 구성된 로직 (325) 의 연관된 하드웨어가 그의 입력 수신 기능(들) 을 수행하게 하는 소프트웨어를 포함할 수 있다. 그러나, 로컬 사용자 입력을 수신하도록 구성된 로직 (325) 은 소프트웨어 단독으로만 대응하는 것은 아니며, 로컬 사용자 입력을 수신하도록 구성된 로직 (325) 은 그의 기능성을 달성하도록 하드웨어에 적어도 부분적으로 의존한다.
도 3 을 참조하면, 구성된 로직들 (305 내지 325) 이 도 3 에서 개별적인 또는 별개의 블록들로서 도시되어 있지만, 각각의 구성된 로직이 그의 기능성을 수행하게 하는 하드웨어 및/또는 소프트웨어는 부분적으로 중첩할 수 있음이 인지될 것이다. 예를 들어, 구성된 로직들 (305 내지 325) 의 기능성을 용이하게 하는 데 사용되는 임의의 소프트웨어는 정보를 저장하도록 구성된 로직 (315) 과 연관된 비일시적 메모리에 저장되어, 305 내지 325 의 구성된 로직들 각각이 정보를 저장하도록 구성된 로직 (315) 에 의해 저장된 소프트웨어의 동작에 부분적으로 기초하여 그들의 기능성 (즉, 이 경우에서, 소프트웨어 실행) 을 수행하도록 할 수 있다. 마찬가지로, 구성된 로직들 중 하나와 직접적으로 연관된 하드웨어는 가끔 다른 구성된 로직들에 의해 대여되거나 또는 사용될 수 있다. 예를 들어, 정보를 프로세싱하도록 구성된 로직 (310) 의 프로세서는, 정보를 수신 및/또는 송신하도록 구성된 로직 (305) 에 의해 송신되기 전에, 데이터를 적절한 포맷으로 포맷화하여, 정보를 수신 및/또는 송신하도록 구성된 로직 (305) 이 정보를 프로세싱하도록 구성된 로직 (310) 과 연관된 하드웨어 (즉, 프로세서) 의 동작에 부분적으로 기초하여 그의 기능성 (즉, 이 경우에서, 데이터의 송신) 을 수행하도록 할 수 있다.
일반적으로, 명시적으로 다르게 언급되지 않는다면, 본 개시 전반에 걸쳐 사용되는 어구 "하도록 구성된 로직" 은, 적어도 부분적으로 하드웨어로 구현되는 일 양태를 유발하려고 의도된 것이며, 하드웨어와 독립적인 소프트웨어 전용 구현들에 맵핑하려고 의도된 것이 아니다. 또한, 다양한 블록들에서 구성된 로직 또는 "하도록 구성된 로직" 은 특정 로직 게이트들 또는 엘리먼트들로 제한되는 것이 아니며, 일반적으로 (하드웨어 또는 하드웨어와 소프트웨어의 조합을 통해) 여기에 설명된 기능성을 수행하기 위한 능력을 지칭한다. 따라서, 다양한 블록들에서 예시된 바와 같이 구성된 로직들 또는 "하도록 구성된 로직" 은 단어 "로직" 을 공유하지만 로직 게이트들 또는 로직 엘리먼트들로서 반드시 구현되어야만 하는 것은 아니다. 다양한 블록들에서의 로직 간의 다른 상호작용들 또는 협력은 아래에 더 상세히 설명되는 양태들의 검토로부터 통상의 기술자에게 명확해질 것이다.
다양한 실시형태들은 도 4 에 예시된 서버 (400) 와 같은 다양한 상업적으로 입수가능한 서버 디바이스들 중 임의의 것에서 구현될 수도 있다. 일 예에서, 서버 (400) 는 상술된 IoT 서버 (170) 의 하나의 예시적인 구성에 대응할 수도 있다. 도 4 에서, 서버 (400) 는 휘발성 메모리 (402) 및 대용량 비휘발성 메모리, 예컨대, 디스크 드라이브 (403) 에 커플링된 프로세서 (400) 를 포함한다. 서버 (400) 는 또한 프로세서 (401) 에 커플링된 플로피 디스크 드라이브, 콤팩트 디스크 (CD) 또는 DVD 디스크 드라이브 (406) 를 포함할 수도 있다. 서버 (400) 는 또한, 다른 브로드캐스트 시스템 컴퓨터들과 서버들에 또는 인터넷에 커플링된 로컬 영역 네트워크와 같은 네트워크 (407) 와의 데이터 연결들을 확립하기 위해 프로세서 (401) 에 커플링된 네트워크 액세스 포트들 (404) 을 포함할 수도 있다. 도 3 의 맥락에서, 도 4 의 서버 (400) 는 통신 디바이스 (300) 의 하나의 예시적인 구현을 예시하고, 그에 따라 정보를 송신 및/또는 수신하도록 구성된 로직 (305) 은 네트워크 (407) 와 통신하기 위해 서버 (400) 에 의해 사용된 네트워크 액세스 포인트들 (404) 에 대응하고, 정보를 프로세싱하도록 구성된 로직 (310) 은 프로세서 (401) 에 대응하며, 정보를 저장하기 위한 로직 구성 (315) 은 휘발성 메모리 (402), 디스크 드라이브 (403) 및/또는 디스크 드라이브 (406) 의 임의의 조합에 대응한다는 것이 인지될 것이다. 정보를 제시하도록 구성된 선택적 로직 (320) 및 로컬 사용자 입력을 수신하도록 구성된 선택적 로직 (325) 은 도 4 에 명시적으로 도시되지 않으며, 도 4 에 포함될 수도 있고 또는 포함되지 않을 수도 있다. 따라서, 도 4 는, 통신 디바이스 (300) 가 도 2a 에서와 같은 IoT 디바이스 구현에 부가적으로, 서버로 구현될 수도 있다는 것을 입증하는 것을 돕는다.
종래의 모니터링 디바이스들 (예를 들어, 보안 카메라, 옥외 조명, 위모트 (Wii-motes), 마이크로소프트 키넥트 등) 이 소정의 액션들을 트리거하기 위해 모션 검출을 실행하도록 구성될 수 있다. 이러한 모니터링 디바이스들은 통상적으로, 대응하는 액션을 트리거하기 위해 사용될, 모션들의 소정 세트를 정의하기 위해 제조업체 (또는 게임 개발자) 를 필요로 한다. 하지만, 종래의 모니터링 디바이스들이 종래의 모니터링에 기초하여 액션 트리거링에 대한 새로운 모션들을 학습하는 것은 어렵다.
본 발명의 실시형태들은 IoT 환경 내에 모션 검출기들을 배치하는 것에 관한 것이며, 이로써 IoT 환경 내의 소정의 이벤트들을 선제적으로 트리거하도록, IoT 환경에서의 다양한 IoT 디바이스들에 의해 검출된 이벤트들이 그 이벤트들에 선행하는 모션 시퀀스들과 상관된다.
도 5는 본 발명의 실시형태에 따라 "단일 사용자" IoT 환경 (또는 분산된 IoT 네트워크) (500) 의 예를 도시한다. 도 5에서, IoT 환경 (500) 은 거실 (505), 침실 (510), 주방 (515) 및 욕실 (520), 현관 (520) 및 욕실 (525) 을 구비한 아파트이다. 아파트 내에서, IoT 디바이스 A (예, 천장형 팬) 는 거실 (505) 에 배치되고, IoT 디바이스 B (예, 조명 스위치) 는 침실 (510) 에 배치되고, IoT 디바이스 C (예, 전구) 는 욕실 (525) 에 배치되고, 그리고 IoT 디바이스들 D (예, 써모스탯), E (예, 오븐) 및 F (예, 커피메이커) 는 주방 (515) 에 배치된다. 또한, IoT 디바이스들 G...K (예, 모션 센서 또는 모션 검출기) 는 아파트 (500) 전반에서 각각의 영역들 (505-525) 에 배치된다. IoT 환경 (500) 은, 단일 사용자가 주로 아파트를 점유할 것으로 예상되기 때문에 "단일 사용자"로 지칭된다. 모션 시퀀스들은 특수한 식별 절차없이 단일 사용자에 의해 수행되는 것으로 가정될 수 있기 때문에, IoT 환경을 "단일 사용자"로 특징화하는 것은 후술되는 동작들의 일부를 단순화한다.
도 6은 본 발명의 실시형태에 따라 "멀티 사용자" IoT 환경 (또는 분산된 IoT 네트워크) (600) 의 예를 도시한다. 도 6에서, IoT 환경 (600) 은 회의실 (605), 복수의 사무실들 (610 ~ 635), 주방 (640) 및 리셉션 영역 (645) 을 갖는 사무실 공간이다. 사무실 공간 (600) 내에서, IoT 디바이스 A (예, 휴대 전화 또는 태블릿 컴퓨터 등의 핸드셋 디바이스) 및 IoT 디바이스 B (예, 전구) 는 회의실 (605) 에 배치되고, IoT 디바이스 C (예, 냉장고), IoT 디바이스 D (예, 써모스탯), IoT 디바이스 E (예, 블랜더), IoT 디바이스 F (예, 커피메이커) 및 IoT 디바이스 G (예, 조명 스위치) 는 주방 (640) 에 배치되며, 그리고 IoT 디바이스 H (예, 휴대 전화 또는 태블릿 컴퓨터 등의 핸드셋 디바이스) 는 사무실 (610) 에 배치된다. 또한, IoT 디바이스 I...L (예, 모션 센서 또는 모션 검출기) 은 사무실 공간 전반에서 각각의 영역들 (505-525 605-645) 에 배치된다. IoT 환경 (600) 은 "멀티 사용자" 환경으로 지칭되는데, 그 이유는 다른 사용자가 동일한 시간에 또는 다른 시간에 사무실 공간을 점유하여, 특정 검출된 모션 시퀀스를 그 사용자 (또는 사용자들의 그룹) 에 상관하기 위한 일부 타입의 특정 식별 절차 없이는 특정 검출된 모션 시퀀스가 특정 사용자 (또는 사용자들의 그룹) 와 연관될 수 없기 때문이다. 특정 검출된 모션과 연관된 사용자 (또는 사용자들의 그룹) 를 식별하는 것은, 검출된 모션 시퀀스에 근접하여 사용자 (또는 사용자들의 그룹) 에 등록된 전화를 검출하는 것, 특정 사용자 (또는 사용자들의 그룹) 만이 특정 모션 시퀀스를 수행한다고 결정하는 것, 특정 사용자 (또는 사용자들의 그룹) 에 할당되는 사무실에서 모션 시퀀스를 검출하는 것 등에 의한, 다수의 상이한 방식으로 구현될 수 있다.
도 7-9와 관련하여 후술되는 실시형태는 단일 사용자 IoT 환경 (예, 도 5의 단일 사용자 IoT 환경 (500)) 또는 멀티 사용자 IoT 환경 (예, 도 6의 멀티 사용자 IoT 환경 (600)) 내에서 구현될 수 있다. 상세히 후술되지는 않지만, 도 7 내지 도 9의 프로세스가 멀티 사용자 IoT 환경 내에 구현되는 경우, 각각의 프로세스들은 사용자 식별 절차에 기초하여 특정 사용자 또는 특정 사용자들의 그룹에 대해 선택적 방식으로 수행될 수 있다. 멀티 사용자 시나리오에서, 도 7 내지 도 9의 프로세스들은 동일한 환경 내의 상이한 사용자들 (또는 사용자들의 그룹들) 에 대해 반복적으로 실행될 수 있고, 상이한 모션 시퀀스들은 사용자 특정 또는 그룹 특정에 기초하여 상이한 이벤트들과 상관된다. 따라서, 도 7 내지 도 9의 실시형태들이 단일 사용자 IoT 환경을 시사하는 것으로 보이는 단일 사용자와 관련하여 주로 상술되지만, 이벤트들과 모션 시퀀스들의 상관을 위해 특정 사용자 또는 특정 사용자들의 그룹과 연관되는 것으로서 모션 시퀀스들이 식별될 수 있는 한, 이들 실시형태들은 임의의 멀티 사용자에 대해 실행될 수 있음을 이해할 것이다. 부가적으로, 상이한 사용자에 의해 이루어지는 소정의 모션들은 실질적으로 유사할 수 있고, 따라서 사용자 식별과 관계없이 사용자들의 그룹에게 또는 심지어는 모든 사용자들에게 적용될 수 있다. 또한, 본원에 사용된 바와 같이, "이벤트"는 단일 액션 또는 일련의 액션들을 포함할 수 있다. 즉, 이벤트가 특정 모션 시퀀스에 의해 트리거된다는 것은 단일 액션이 트리거된다는 것을 의미하지 않으며 (이것이 확실히 가능하지만), 함께 수행되는 경우 이벤트를 포함하는 일련의 액션들 또는 액션들의 시퀀스가 잠재적으로 트리거될 수 있다는 것을 의미한다.
도 7은 본 발명의 실시형태에 따라 이벤트의 특정 타입과 모션 시퀀스를 상관하는 프로세스를 도시한다. 도 7을 참조하면, IoT 환경 (예를 들어, 단일 사용자 또는 멀티 사용자 IoT 환경) 내에 배치된 IoT 디바이스들의 세트 ("IoT 디바이스들 1...N") 는 시간이 지남에 따른 사용자 개시의 이벤트를 검출한다 (700). 일 예에서, 도 7의 IoT 디바이스들 1...N은 도 5의 IoT 디바이스들 A...F 또는 도 6의 IoT 디바이스들 A...H에 상응할 수 있다. 예를 들어, IoT 디바이스 1이 조명 스위치 또는 전구라면, IoT 디바이스 1은 "온 (ON)" 이벤트 또는 "오프 (OFF)" 이벤트, 희미한 설정 등과 같은 이벤트를 검출할 수 있다. 또 다른 예에서, IoT 디바이스 2가 써모스탯이라면, IoT 디바이스 2는 타겟 온도나 습도 설정으로의 사용자 특정의 변화 등을 이벤트를 검출할 수 있다. 다른 예에서, IoT 디바이스 3이 오븐이라면, 오븐은 사용자에 의해 "온" 및 "오프" 로 스위칭되는 (또는 스위칭하기로 스케줄링되는) 것, 또한 오븐이 사용자에 의해 "베이크 (BAKE)" 또는 "브로일 (BROIL)"로 설정되는지 여부, 오븐에 대한 온도 설정, 오븐 타이머가 설정되는 시간 등과 같은 다양한 이벤트를 검출할 수 있다. 다른 예에서, IoT 디바이스 3이 커피 메이커라면, 커피 메이커는 사용자에 의해 "온" 및 "오프" 로 스위칭되는 것, 얼마나 많은 커피가 특정 브루 (brew) 사이클 동안 또는 다수의 브루 사이클이 지나서 브루되는지를 나타내는 필-레벨 (fill-level) 등과 같은 이벤트들을 검출할 수 있다. 700에서 각각의 검출된 이벤트는 그 연관된 발생 시간 (또는 타이밍 정보) 에 따라 기록된다.
도 7을 참조하면, IoT 디바이스들 1...N은 검출된 이벤트들 및 700으로부터의 그 연관된 타이밍 정보을 시간에 기초하여 또는 이벤트 트리거에 기초하여 IoT 제어기에 보고한다 (705). IoT 제어기는 IoT 서버 (170) 등의 서버에 상응할 수 있고, 이 경우 705의 보고는 인터넷 접속을 통해 전송될 수 있다. 대안적으로, IoT 제어기는 로컬 서버 및/또는 IoT 환경에서의 IoT 디바이스들 중 하나 (예를 들어, IoT 매니저 또는 슈퍼에이전트) 일 수 있고, 이 경우 705의 보고는 IoT 통신 인터페이스 (예를 들어, 블루투스, WiFi 등) 를 통해 전송될 수 있다. IoT 디바이스들 1...N은 또한 선택적으로 보조 환경 데이터를 IoT 제어기에 보고할 수 있다 (710). 예를 들어, IoT 디바이스 1이 천장형 팬인 경우, 천장형 팬은 주위 실온에 기초하여 턴 온 또는 턴 오프될 가능성이 있음을 알 것이다. 즉, 천장형 팬이 "온" 또는 "오프" 이벤트를 보고하는 경우, 천장형 팬은 710에서의 보고를 위해 로컬 온도 센서 (예, 써모스탯) 로부터의 온도 정보를 수집할 수 있거나, 또는 천장형 팬은 그 자신의 보고를 IoT 제어기에 독립적으로 전달하도록 로컬 온도 센서를 프롬프트할 수 있다. 대안적으로, 보조 환경 정보는 단순히 연속적으로 모니터링될 수 있고 이벤트 검출과 무관하게 보고될 수 있다 (예를 들어, 임의의 이벤트들이 그 시간에 IoT 디바이스들 1...N 중 어느 것에 의해 실제로 검출되는지와 무관하게 IoT 제어기는 로컬 온도 및 습도 조건에 대한 보고를 얻는다).
도 7을 참조하면, 이벤트들이 700-710 사이에서 IoT 디바이스들 1...N 에 의해 검출 및 보고되지만, IoT 환경 내에 배치된 IoT 모션 모니터들의 세트 ("IoT 모션 모니터들 1...N") 가 IoT 환경을 스캔하여 "원시" 모션 데이터를 검출한다 (715). 본원에 사용되는 바와 같이, IoT 모션 모니터는 IoT 환경에서 모션을 모니터링할 수 있는 임의의 IoT 디바이스에 상응할 수 있고, "원시" 모션 데이터는 IoT 모션 모니터들에 의해 검출가능하지만 특정 모션 시퀀스 (모션 시퀀스들은 아래에서 보다 상세히 기재됨) 의 일부로서 아직 인식되지 않는 임의의 모션을 지칭하기 위해 사용된다. 또한, IoT 모션 모니터들의 수와 또한 IoT 디바이스들의 수를 설명하기 위해 도 7에서 "N"이 사용되지만, "N"은 단순히 IoT 모션 모니터들 및 IoT 디바이스들의 개개의 수가 IoT 환경 내에서 가변할 수 있고, 그리고 임의의 특정 IoT 환경에서의 IoT 디바이스들 및 모션 모니터의 실제 수가 동일하거나 또는 상이할 수 있다는 것을 전한다. 또한, IoT 디바이스들 1...N 중 하나가 또한 모션 모니터 1...N 중 하나라는 것이 가능하다. 예를 들어, IoT 환경에서 모션을 검출할 수 있고 또한 이벤트 검출을 할 수 있는 IoT 모션 모니터는, 도 7과 관련하여 IoT 모션 모니터와 IoT 디바이스의 양자로서의 자격이 있을 수 있다. 예를 들어, 천장형 팬에 통합된 모션 모니터는, 천장형 팬 "온", 천장형 팬 "오프" 등과 같은 팬관련 이벤트들이 발생한 경우 등록 뿐만 아니라 모션 검출도 할 수 있을 것이다.
도 7을 참조하면, IoT 모션 모니터들 1...N 은 검출된 원시 모션 데이터 및 715로부터의 연관 타이밍 정보를 기간에 기초하여 보고한다 (720). 705와 유사하게, IoT 제어기가 원격 서버인 경우, 720의 보고는 인터넷 접속을 통해 전송될 수 있고, 그리고 IoT 제어기가 로컬 서버 또는 로컬 IoT 디바이스인 경우, 720의 보고는 IoT 통신 인터페이스 (예를 들어, 블루투스, WiFi 등) 를 통해 전송될 수 있다. 또한, 710과 유사하게, IoT 모션 모니터들 1...N은 또한 선택적으로 보조 환경 데이터를 IoT 제어기에 보고할 수 있다 (725).
도 7을 참조하면, 705, 710, 720 및/또는 725에서 송신되는 보고들은, 보고들에 대한 고속 요청이 각각의 보고에 대해 IoT 제어기에 의해 전송되지 않고 IoT 제어기로 "푸시 (push)"될 수 있거나, 또는 대안적으로 보고들은 하나 이상의 보고 요청들을 통해 IoT 제어기에 의해 "풀 (pull)"될 수 있다. 예를 들어, IoT 제어기는 IoT 디바이스들 1...N 및/또는 IoT 모션 모니터들 1...N을 그 각각의 보고들을 수집하기 위해 주기적으로 폴링 (polling) 할 수 있거나, 또는 대안적으로 IoT 디바이스들 1...N 및/또는 IoT 모션 모니터들 1...N은 그 보고들을 폴링 없이 IoT 제어기로 송신할 수 있다. 대안적으로, IoT 제어기는 IoT 디바이스들 1...N 및/또는 IoT 모션 모니터들 1...N을 그 각각의 보고들을 수집하기 위해 IoT 제어기에 의해 검출된 이벤트(들)에 응답하여 폴링할 수 있거나, 또는 대안적으로 IoT 디바이스들 1...N 및/또는 IoT 모션 모니터들 1...N은 그 보고들을 궁극적으로 송신하는 각각의 디바이스들에서 검출된 이벤트(들)에 응답하여 IoT 제어기로 그 보고들을 송신할 수 있다.
도 7을 참조하면, IoT 제어기는 그 연관된 이벤트 타입 (예를 들어, 조명 스위치 "온", 천장형 팬 "오프", "쿨 (COOL)" 또는 "히트 (HEAT)"로 설정된 써모스탯 등) 에 의해 705로부터 보고된 이벤트들을 로그하고 그리고 (선택적으로) 임의의 연관된 보조 환경 데이터를 또한 보고한다 (730). 735에서, IoT 제어기는, 각각의 보고된 이벤트에 대해, 이벤트에 선행하는 시간의 임계치 내에서 하나 이상의 모션 시퀀스들이 발생했는지의 여부를 식별하기 위해 보고된 원시 모션 검출 데이터를 스캔한다. 예를 들어, IoT 제어기가 10:23:22 PM에 조명 스위치 "오프" 이벤트를 로그하고, 조명 스위치 "오프" 이벤트에 이용되는 시간의 임계치가 25초라는 것을 가정한다. 이것은, IoT 제어기가 10:23:22 PM에 선행하는 25초동안 로그된 원시 모션 검출 데이터를 스캔하여, 임의의 모션 시퀀스들이 그 시간 기간내에 식별될 수 있는지 여부를 검출할 것임을 의미한다. 모션 시퀀스들은 로그된 원시 모션 검출 데이터로부터 추출될 수 있는 일련의 모션들로 구성될 수 있고, 그리고 이들 모션 시퀀스들은 경사진 위치로부터 사용자가 일어섬, 사용자가 자신의 손을 들어올림 등의 실제 사용자 모션들에 상응할 수 있다. 25 초 기간에 검출된 임의의 모션 시퀀스들은 특정 이벤트와 연관하여 로그에 부가된다. 또한, 모션 시퀀스들이 검출된 이벤트에 선행하여 검색되는 시간의 임계 기간 (또는 스캐닝 윈도우) 은, 이벤트 타입을 포함하는 임의의 수의 팩터들에 기초하여 가변할 수 있다 (예를 들면, 조명 스위치 이벤트는 환경의 조명 상태를 변화시키기 원하는 사용자들이 비교적 빨리 동작할 것으로 예상되기 때문에 5초 스캐닝 윈도우가 할당될 수 있고, 써모스탯에 대한 온도/습도 설정 변화 이벤트들은 사용자들이 써모스탯을 변화시키기 전에 보다 숙고할 수 있기 때문에 보다 긴 스캐닝 윈도우가 할당될 수 있는 등이다).
이 시점에서, 735는, 적어도 하나의 이벤트 타입에 대한 이벤트들의 수가 임계치 (예를 들어, 20, 30 등) 를 초과할 때까지 다수의 이벤트들에 대해 반복된다. 735의 소정의 수의 반복들 이후, IoT 제어기는 모션 시퀀스 (또는 시퀀스들) 과 특정 이벤트 타입을 상관시키는 것을 시도한다 (740). 예를 들어, 특정 조명 스위치 (또는 IoT 환경에서의 임의의 조명 스위치) 는 턴 "오프"되는 20번째 이후, IoT 제어기는 모션 시퀀스와 조명 스위치 "오프"의 이벤트 타입을 상관시키려는 시도를 위해 조명 스위치 "오프"의 이벤트 타입을 위해 충분한 샘플 사이즈를 갖는다고 결정할 수도 있다. 추가 예에서, 조명 스위치 "오프"의 예를 이용하면, 20개의 조명 스위치 "오프" 이벤트들 중 17개가 "사용자가 오른팔 들어올림" 모션 시퀀스에 의해 시간의 임계 기간 내에서 선행되고, 20개의 조명 스위치 "오프" 이벤트들 중 6개가 "사용자가 일어섬" 모션 시퀀스에 의해 시간의 임계 기간 내에서 선행되고, 그리고 20개의 조명 스위치 "오프" 이벤트들 중 1개가 "사용자가 머리를 긁음" 모션 시퀀스에 의해 시간의 임계 기간 내에서 선행된다. 이 정보는, 특정 모션 시퀀스가 조명 스위치 "오프"의 연관 이벤트 타입을 초래할 것이라는, 신뢰도 레벨을 생성하기 위해 사용될 수 있다. 예를 들어, 조명 스위치 "오프"의 신뢰도 레벨은 "사용자가 오른팔 들어올림" 모션 시퀀스의 경우 85%이고, "사용자가 일어섬" 모션 시퀀스의 경우 30%이고, 그리고 "사용자가 머리를 긁음" 모션 시퀀스의 경우 5% 이다. 신뢰도 레벨 임계치 (예를 들어, 70%, 80% 등) 는, 임계치 아래의 신뢰도 레벨들과 상관하는 임의의 후보 모션 투 이벤트가 폐기되도록 성립될 수 있다. 상기 언급된 예에서, 이것은, "사용자가 오른팔 들어올림" 모션 시퀀스가 충분한 신뢰도 레벨 (즉, 85%) 을 갖는 조명 스위치 "오프" 이벤트와 상관되지만, 다른 아웃라이어 모션 시퀀스들은 임계 신뢰도 레벨에서 조명 스위치 "오프"와 상관되지 않다는 것을 의미한다.
745에서, 740의 상관은 하나 이상의 보조 팩터들에 기초하여 선택적으로 개선될 수 있다. 예를 들어, 사용자는, "오프" 이벤트 또는 "온" 이벤트를 수행하기 위해 스위치를 플릭하기 이전에 조명 스위치로 아마도 걸어간다. 하지만, 사용자는, 그가 조명 스위치를 플릭하려는 의도가 없는 경우에는 IoT 환경 전반에 걸쳐 걸어갈 가능성이 있다. 그래서, "사용자 워킹" 이벤트의 단순한 검출은, 조명 스위치가 이제 막 플릭될 것이라고 스스로 추론하지 않는다. 이에 따라, 특정 이벤트와 무관한 빈번한 방식으로 일어나는 모션 시퀀스들은 그 이벤트와의 상관으로부터 배제된다. 이 경우, 모션 시퀀스 (예를 들어, "사용자 워킹") 의 전반적인 출현율 (prevalence) 은 신뢰도 레벨을 감소시킴으로써 상관되지 않은 상태에 대한 후보 모션 투 이벤트를 재특징화 (또는 개선) 하는 기능을 한다. 다시 말하면, 신뢰도 레벨은 특정 모션 시퀀스가 특정 이벤트 타입에 선행할 가능성 뿐만 아니라, 특정 이벤트 타입이 그 특정 모션 시퀀스에 후속할 가능성도 반영한다. 이로써, 아래에서 보다 상세히 논의되는 신뢰도 레벨을 증가시키기 위해 하나 이상의 보조 팩터들이 존재하지 않는 한, "일반" 모션 시퀀스는 상관으로부터 배제된다.
다른 예에서, "사용자가 이마를 문지름"과 같은 이벤트는, 사용자가 두통을 갖는다는 표시일 수 있거나, 또는 대안적으로 사용자가 고온이어서 사용자 이마에 땀이 난다는 표시일 수 있다. 사용자가 고온인 경우, 사용자는 써모스탯 설정을 조정할 가능성이 있다. 이를 염두에 두고, "사용자가 이마를 문지름"은, "사용자가 써모스탯 온도를 낮춤" 이벤트 전체에 선행하여 5% 신뢰도 레벨만을 가질 수 있지만, "사용자 이마 문지름"은 사용자가 위치하는 현재의 주위 실온이 온도 임계치 (예를 들어, 화씨 85 도) 초과인 경우 "사용자가 써모스탯 온도를 낮춤" 이벤트에 선행하여 70% 신뢰도 레벨을 가질 수 있다. 이 경우, 현재의 주위 실온은 710 또는 725에서 보조 환경 데이터의 일부로서 보고될 수 있고, 이러한 엑스트라 (또는 보조) 정보는 "사용자가 이마를 문지름" 모션 시퀀스가 선행하는 "사용자가 써모스탯 온도를 낮춤" 이벤트의 신뢰도 레벨을 개선하기 위한 추가 조건으로서 사용될 수 있다.
또 다른 예에서, 사용자는 그/그녀의 거실에서 매일 밤 TV를 시청하는 동안 잠이 드는 습관을 가질 수 있고, 그리고 일어난 이후 사용자는 통상적으로 그/그녀의 집 안의 TV 및 조명을 턴 오프한 다음 잠자러갈 것이다. 이 경우, 모션 시퀀스와 함께 고려될 수 있는 보조 팩터는 시간이다. 특히, "사용자는 리모컨을 집어 그것을 TV 스크린 측으로 가리킴"는 모션 시퀀스는 "TV 및 조명를 턴 오프함" 이벤트 전체에 선행하여 2% 신뢰도 레벨을 가질 수 있지만 (예를 들어, 그 이유는 사용자가 하루중 TV를 턴 온하거나 채널을 변경하는 경우 이 액션을 수행하기 때문이다), TV가 "온" 상태에 있을 때 자정부터 오전 5 AM 사이에 검출되는 경우 99% 신뢰도 레벨을 가질 수도 있다. 이 경우, "온"의 TV 상태는 710 또는 725에서의 보조 환경 데이터의 일부로서 보고될 수 있고, 이 TV 상태 정보는 현재 시간과 함께 사용되어 "사용자가 리모컨을 집어 그것을 TV 스크린 측으로 가리킴" 모션 시퀀스가 선행하는 "사용자가 TV 및 조명을 턴 오프함" 이벤트의 신뢰도 레벨의 개선을 향상시킬 수 있다.
다른 예에서, 보조 팩터들이 IoT 디바이스들 1...N 또는 모션 모니터들 1...N로부터 보고된 환경 데이터에 기초할 필요는 없다. 예를 들어, 사용자는 특정 스포츠 팀에 대한 열렬한 야구 및 농구 스포츠 팬일 수도 있다. 사용자의 좋아하는 팀의 야구 경기가 채널 5에서 하는 야구 시즌 동안, "사용자가 리모컨을 집어 들고 TV 스크린을 향해 가리킴"의 모션 시퀀스는 (필요한 경우라면) TV를 턴 온하고 (채널 5가 이미 튜닝되어 있지 않다면) 채널 5로 이동하는 92% 신뢰도 레벨을 가질 수도 있다. 사용자의 좋아하는 팀의 야구 경기가 채널 5에서 하는 야구 시즌 동안, "사용자가 리모컨을 집어 들고 TV 스크린을 향해 가리킴"의 모션 시퀀스는 (필요한 경우라면) TV를 턴 온하고 (채널 5가 이미 튜닝되어 있는 경우라면) 채널 5로 이동하는 92% 신뢰도 레벨을 가질 수도 있다. 그래서, 현재의 TV 스케줄링 정보는 특정 모션 시퀀스가 선행하는 특정 이벤트 타입에 대한 신뢰도 레벨을 개선하기 위한 보조 팩터들로서 사용자의 스포츠 관심과 조합하여 사용될 수 있다.
다른 예에서, 보조 팩터들은 745에서 결정된 하나 이상의 상관들을 개선하는 기능을 하는 네거티브 피드백을 포함할 수 있다. 예를 들어, "사용자가 양손을 들어올림" 및 "TV를 턴 온함"의 모션 시퀀스 사이의 상관은 82% 신뢰도 레벨에서 검출되고, 그리고 IoT 제어기는 "사용자가 양손을 들어올림" 모션 시퀀스가 검출될 때마다 선제적으로 TV를 턴 온하는 것을 시작하기 위해 상관을 이용한다고 가정한다. 하지만, TV의 선제적 턴 온에 응답하여, TV는 사용자가 시간의 임계 기간 (예를 들어, 30초 등) 내에서 TV를 턴 오프한다고 IoT 제어기에 보고한다. 이것은, 사용자가 TV를 턴 온하기를 원치 않았고, 또한 사용자가 TV를 수동으로 턴 오프할 필요성에 의해 귀찮을 가능성이 있다는 암시적 표시이다. (예를 들면 사용자가 선제적 상관 트리거 이벤트를 리버스하는 것과 같은) 네거티브 피드백은 상관과 연관되는 신뢰도 레벨을 줄임으로써 상관을 개선하는데 사용되거나, 또는 심지어 일부 경우에는 전체 상관을 제거하는데 사용될 수 있다. 대안적으로, 네거티브 피드백은, 상관에 대한 전제조건인 추가 조건을 식별하기 위해 사용될 수 있다. 예를 들어, TV가 10 PM과 5 AM 사이에 선제적으로 턴 온되는 경우에만 사용자는 단지 TV를 턴 오프한다고, IoT 제어기가 시간이 지남에 따라 결정하는 경우라면, 그 상관은 10 PM과 5 AM 사이의 상관을 비활성화함으로써 네거티브 피드백에 의해 개선될 수 있다. 이에 따라, 상관 트리거된 이벤트를 리버스하는 고속 사용자 액션이 식별된 상관을 더욱 개선하기 위해 사용될 수 있다.
다른 예에서, 보조 팩터들은 745에서 결정된 하나 이상의 상관들을 개선하는 기능을 하는 상태 정보를 포함할 수 있다. 상태 정보는 IoT 환경에서의 오브젝트의 상태 (또는 상태 이력) 를 특징화한다 (예를 들면, TV에 대한 이용가능한 상태의 세트는 "온", "오프", "볼륨 정상의 온", "볼륨 음소거된 온" 등). 예를 들어, 조명을 "오프" 상태로 턴하기 위해 사용되는 동일한 모션은 또한 조명을 "온" 상태로 턴하기 위해 사용될 수도 있다. 이 경우, 오프 투 온 (OFF-to-ON) 이벤트 또는 온 투 오프 (ON-to-OFF) 이벤트는 조명의 현재 상태에 부분적으로 기초한다, 즉, 조명이 "온" 상태에 있는 경우라면 모션은 "오프" 상태로의 천이를 트리거하고, 조명이 "오프" 상태에 있는 경우라면 모션은 "온" 상태로 천이를 트리거한다. 그래서, 상태 정보에 의존하여, 상이한 타입의 이벤트들을 트리거하기 위해서 단일 모션 (예를 들면, 그러한 조명 변화를 유도하는 모션) 이 사용될 수 있다.
더욱이, 상기 예가 바이너리이지만 (예를 들어, 조명이 "온" 또는 "오프" 중 어느 하나이고, 각각의 연이은 모션이 2개의 상태들 사이에서 단순 스위칭하지만), 다른 예들은 2개 초과의 상태들 또는 상이한 상태 천이 패턴들을 포함할 수 있다. 예를 들어, TV의 볼륨을 높이기 위해 또는 TV를 턴 온하기 위해 제 1 모션이 사용되고, TV의 볼륨을 줄이기 위해 또는 TV를 턴 오프하기 위해 제 2 모션이 사용된다는 것을 고려한다. 또한, 제 1 모션은 TV가 턴 온되고 높은 볼륨 세팅으로 설정된 경우 임의의 이벤트도 트리거하지 않는 반면, 제 2 모션은 TV가 턴 온되고 음소거로 설정되는 경우 TV를 턴 오프하는 기능을 하는 것으로 가정한다. 표 1 (아래) 은, 이러한 가정 하에서, 현재 TV 상태에 기초하여 발생할 수 있는 예시적인 일련의 상태 천이들을 나타낸다.
현재 TV 상태 모션 이벤트 새로운 TV 상태
"오프" 제 1 모션 TV를 턴 온 "온"
(볼륨 정상)
"온"
(볼륨 정상)
제 1 모션 TV 볼륨을 높임 "온"
(볼륨 높음)
"온"
(볼륨 높음)
제 1 모션 아무것도 안함
(볼륨 이미 높음)
"온"
(볼륨 높음)
"온"
(볼륨 높음)
제 2 모션 TV 볼륨을 줄임 "온"
(볼륨 정상)
"온"
(볼륨 정상)
제 2 모션 TV 볼륨을 줄임 "온"
(볼륨 음소거)
"온"
(볼륨 음소거)
제 2 모션 TV를 턴 오프 "오프"
이에 따라, 표 1 (상기) 에 도시된 바와 같이, 상태 기반의 뉘앙스를 이벤트 트리거링에 부가하도록 사용될 수 있다. 다른 예에서, 상관을 개선하기 위해서 상태 이력들이 사용될 수 있다. 예를 들어, 자동 판매기가 "우유" 또는 "물"을 제공할 수 있고, 그리고 IoT 제어기가 분배될 음료를 트리거하기 위해 일반 밴딩 모션 시퀀스를 사용하는 사용자를 검출한다고 가정한다. 다음, 사용자가 "물"을 2회 분배하고, 이어서 "우유", 그렇게만 단일 분배하는 신뢰할 수 있는 습관을 갖는다고 가정한다. 따라서, 예시적인 상태 이력은 [우유, 물, 물, 우유, 물, 물, 우유, ...] 이다. 이로써, 이전의 세 가지 상태가 [..., 우유, 물, 물] 인 경우, 다음 상태가 "우유"인 것으로 예측되어, 보다 일반적으로 "물"을 분배하는 동일한 모션 시퀀스가 사용되는 경우라도, 일반적인 밴딩 모션 시퀀스가 이 시점에서 "물" 대신에 "우유"를 트리거하도록 할 수 있다. 이에 따라, 이벤트 투 오션 시퀀스 상관들을 개선하기 위해서 상태 이력들이 또한 사용될 수 있다.
도 7의 프로세스는, 모션 시퀀스들과 다양한 이벤트들 사이의 다수의 상관들이 확인되도록 시간의 기간동안 반복될 수 있다. 시간이 지남에 따라, IoT 제어기는 (하나 이상의 보조 팩터들과 무관하게 또는 이들과 함께) 다수의 이벤트들에 상관되는 모션 시퀀스들을 식별하여, 단일 모션 시퀀스가 하나 초과의 이벤트와의 상관을 위해 임계 신뢰도 레벨을 만족하게 하는 것이 가능하다.
일 실시형태에서, 740에서 결정된 초기 신뢰도 레벨과 745에서 구현된 임의의 리파인먼트의 양자는, 다양한 IoT 디바이스들 및 모션 모니터들이 IoT 환경 내에 배치된 후 시간이 지남에 따라 학습되고, 배치 이전에 미리 프로그래밍되지 않는다. 실제 현실 세계 이벤트 검출은, 소정의 모션 시퀀스와 액션 사이의 상관을 사용자 특정 방식으로 동적 확인하도록 이벤트에 선행하는 모션 시퀀스들을 식별하기 위해 사용된다. 다른 말로, IoT 제어기는 IoT 환경에서 사용자에 의해 자연 사용되는 모션 시퀀스들을 학습하는 것을 시도하고, 사용자 그/그녀 자신은 액션을 트리거하기 위한 사전 프로그램된 모션 시퀀스를 학습할 것이 요구되지 않는다.
도 8a는 본 발명의 실시형태에 따라 모션 시퀀스 상관에 기초하여 이벤트를 선제적으로 트리거하는 프로세스를 도시한다. 특히, 도 8a의 실시형태는, 원시 모션 데이터가 IoT 제어기에 보고되고 IoT 제어기가 보고된 원시 모션 데이터 내의 임의의 모션 시퀀스들을 식별하고 임의의 상관된 이벤트들을 결정하는 것을 담당하는, 중앙집중식 접근법에 관한 것이다. 또한, IoT 제어기는, 동일한 모션이 다수의 이벤트들과 상관되는 시나리오에서 어느 이벤트가 트리거되었는지를 결정하는 것을 담당한다 (예를 들어, 상태 기반의 이벤트 트리거링과 관련하여 상기 논의를 참조한다). 예를 들어, 동일한 모션은 조명을 턴 온 및 턴 오프할 수도 있고, 원하는 결과는 현재 상태에 의존한다 (예를 들어, 조명의 현재 상태가 "온"인 경우, 모션은 "오프" 이벤트를 트리거하는 등이다). 이 경우, IoT 제어기는 현재 상태 테이블에 문의할 것이고 그것을 상태 변화들의 이력으로 크로스 참조하여 트리거하기에 적절한 이벤트를 식별할 것이다.
도 8a를 참조하면, 도 7의 프로세스의 실행 후, IoT 제어기는 (보조 팩터들과 무관하게 또는 이와 함께) 임계 신뢰도 레벨에서 이벤트 타입들의 세트와 상관되는 모션 시퀀스들의 세트를 특정하는 모션 투 이벤트 상관 표를 유지한다고 가정한다 (800). IoT 모션 모니터들 1...N은 IoT 환경에서의 원시 모션 데이터를 IoT 제어기로 계속해서 검출 및 보고한다 (805 및 810) (예를 들어, 도 7의 715 및 720과 유사). 또한, IoT 디바이스들 1...N 및 IoT 모션 모니터들 1...N은 IoT 제어기로 보조 환경 데이터를 계속해서 검출 및 보고한다 (815 및 820) (예를 들어, 도 7의 710 및 725와 유사).
도 8a를 참조하면, 810, 815 및/또는 820에서 송신되는 보고들은, 보고들에 대한 고속 요청이 각각의 보고에 대해 IoT 제어기에 의해 전송되지 않고 IoT 제어기로 "푸시 (push)"될 수 있거나, 또는 대안적으로 보고들은 하나 이상의 보고 요청들을 통해 IoT 제어기에 의해 "풀 (pull)"될 수 있다. 예를 들어, IoT 제어기는 IoT 디바이스들 1...N 및/또는 IoT 모션 모니터들 1...N을 그 각각의 보고들을 수집하기 위해 주기적으로 폴링할 수 있거나, 또는 대안적으로 IoT 디바이스들 1...N 및/또는 IoT 모션 모니터들 1...N은 그 보고들을 폴링 없이 IoT 제어기로 송신할 수 있다. 유사하게, IoT 제어기는 IoT 디바이스들 1...N 및/또는 IoT 모션 모니터들 1...N을 그 각각의 보고들을 수집하기 위해 IoT 제어기에 의해 검출된 이벤트(들)에 응답하여 폴링할 수 있거나, 또는 대안적으로 IoT 디바이스들 1...N 및/또는 IoT 모션 모니터들 1...N은 그 보고들을 궁극적으로 송신하는 각각의 디바이스들에서 검출된 이벤트(들)에 응답하여 IoT 제어기로 그 보고들을 송신할 수 있다.
IoT 제어기는 보고된 원시 모션 검출 데이터를 모니터링하여 (825), 모션 투 이벤트 상관 표에서의 모션 시퀀스들의 세트로부터 임의의 모션 시퀀스들이 검출되는지 여부를 결정한다 (830). IoT 제어기가 830에서 모션 시퀀스들의 세트로부터 임의의 모션 시퀀스들을 검출하지 않는다면, 프로세스는 825로 리턴하고 IoT 제어기는 보고된 원시 모션 검출 데이터를 계속해서 모니터링한다. 그렇지 않으면, IoT 제어기가 830에서 모션 시퀀스의 세트로부터 모션 시퀀스들 중 하나를 검출하지 않는 경우, IoT 제어기는 검출된 모션 시퀀스가 임계 신뢰도 레벨에서 이벤트 타입의 상관에 요구되는 하나 이상의 보조 팩터들과 일치하는지 여부를 선택적으로 결정한다. 상기에 논의된 바와 같이, 보조 팩터들은 TV 스케줄링 정보, 주위 실온 데이터, 일시 또는 요일 등을 포함할 수 있다. 835에서, 검출된 모션 시퀀스가 임계 신뢰도 레벨에서 이벤트 타입의 상관에 요구되는 하나 이상의 보조 팩터들과 일치하지 않는다고 IoT 제어기가 결정한다면, 프로세스는 825로 리턴하고 IoT 제어기는 보고된 원시 모션 검출 데이터를 계속해서 모니터링한다. 그렇지 않으면, 835에서 검출된 모션 시퀀스가 임계 신뢰도 레벨에서 이벤트 타입의 상관에 요구되는 하나 이상의 보조 팩터들과 일치하다고 IoT 제어기가 결정하는 경우 (또는 검출된 모션 시퀀스가 이벤트 타입의 상관을 위한 임의의 보조 팩터들에 의존하지 않는 경우), IoT 제어기는 검출된 모션 시퀀스에 상관되는 이벤트 타입 (또는 타입들) 과 이벤트를 선제적으로 트리거하기 위한 하나 이상의 시그널링을 전송한다 (840). 예를 들어, 상관된 이벤트 타입들이 조명 스위치 "온" 및 천장형 팬 "온"인 경우, IoT 제어기는 임의의 직접적인 사용자 상호작용없이 조명 스위치를 턴 "온"시키고 천장형 팬을 턴 "온"시키도록 명령하는 시그널링을 특정 조명 스위치 또는 특정 천장형 팬에 전송할 수도 있다. 845에서, IoT 디바이스들 1...N 중 하나 이상은 IoT 제어기로부터 시그널링을 수신하고 그 이벤트에 대해 하나 이상의 액션들을 실행한다 (845). 상기 개시로부터 알 수 있는 바와 같이, 840에서 IoT 제어기에 의해 트리거되는 특정 이벤트 (또는 액션) 는 상태 정보에 기초할 수 있다 (예를 들어, 특정 모션 시퀀스는 조명의 상태가 "온"인 경우 조명에 대해 "오프" 이벤트를 트리거하는 한편 조명의 상태가 "오프"인 경우 조명에 대해 "온" 이벤트를 트리거하는 등일 것이다).
도 8a를 참조하면, IoT 제어기는 또한 845, 850-855에서 이벤트의 실행을 용이하게 하기 위해 하나 이상의 보조 이벤트들을 선택적으로 트리거할 수 있다. 예를 들어, 845에서 실행되는 이벤트는 "마스터 욕실에서 뜨거운 샤워를 시작함"이고, IoT 제어기는 사용자가 각각의 샤워 동안 25갤런의 열수를 통상 사용한다는 것을 알고, 30갤런의 열수가 샤워용 열수 탱크에서 현재 이용가능하고, 그리고 세탁기는 15갤런의 열수를 사용하는 것으로 예상되는 세척 사이클을 시작한다고 가정한다. 이 정보는 (예를 들어, 열수 탱크 및 세탁기가 IoT 디바이스들 1...N 중에 있는 경우라면) 815 및/또는 820에서 보고된 보조 환경 데이터로부터 적어도 부분적으로 확인될 수 있다. 일 예에서, IoT 제어기는 샤워 이후까지 세척 사이클을 지연시키는 보조 이벤트를 트리거하는 것에 의해 세탁기의 세척 사이클보다 "마스터 욕실에서 뜨거운 샤워를 시작함" 이벤트에 우선순위를 둘 수 있다. 다른 예에서, IoT 제어기는 샤워 또는 세척 사이클 (또는 양자) 에 의해 사용되는 물의 온도를 낮춤으로써 양 이벤트들의 타이밍을 조정하는 것을 시도할 수 있다. 도 8a에 명확히 도시되지 않지만, 사용자는 선택적으로 보조 이벤트 (예를 들어, "샤워 중 열수는 세척 사이클을 조정하기 위해 온도가 감소됨", "세척 사이클은 너의 샤워 동안의 열수 확보를 위해 샤워 이후까지 중단됨" 등) 를 통지받을 수 있다.
도 8b는 본 발명의 또다른 실시형태에 따라 모션 시퀀스 상관에 기초하여 이벤트를 선제적으로 트리거하는 프로세스를 도시한다. 도 8b를 참조하면, 800B 내지 835B는 각각 도 8a의 800 내지 835에 대응하며, 간략화를 위해 추가로 설명되지 않을 것이다.
도 8b에서는, 도 8a와 달리, 825B-835B에서 IoT 제어기가 검출된 모션 시퀀스와 충분히 상관되는 이벤트를 식별한 이후, IoT 제어기는 그 이벤트를 수행하지 않는다고 결정한다 (840B). 이벤트를 수행하지 않음으로써 이벤트 상관을 번복하는 결정은 815B 또는 820B에서 보고된 보조 환경 데이터를 포함하여 다양한 팩터들에 기초할 수 있다. 예를 들어, 825B-835B에서 검출된 모션 시퀀스에 상관되는 이벤트가 "주방 조명을 턴 온함"이지만, IoT 제어기가 (예를 들어, 조명을 턴 온하려는 시도의 실패에 선험하여 또는 그 실패를 통해) 주방 조명이 파손되거나 또는 전원 공급이 되지 않음을 인식한다고 가정한다. 따라서, 840B의 결정은 이벤트가 불가능하거나 실용적이지 않다는 결정에 대응할 수 있다. 다른 예에서, 이벤트는 "마스터 욕실에서 뜨거운 샤워를 시작함"이고, 그리고 IoT 제어기는 2가지 다른 뜨거운 샤워가 사용자의 집에서 현재 활성 상태이고 급탕기가 모든 3가지 샤워를 동시에 조정할 수 없다는 것을 인식한다고 가정한다. 이 경우, 이벤트는 부분적으로 조정될 수 있지만, 다만 이미 샤워하고 있는 다른 사용자는 희생된다. 따라서, 840B의 결정은, 이벤트가 (적어도 부분적으로) 가능하지만 권장되지 않는, 결정에 대응할 수 있다.
840B에서 이벤트를 수행하지 않는다고 결정한 후, 이벤트가 수행되지 않을 것이라는 것과 또한 선택적으로 이벤트가 수행되지 않는 이유를 사용자에게 경고하기 위해 (850B), IoT 제어기는 IoT 디바이스들 1...N 중 하나 이상에 경고를 선택적으로 전송한다 (845B). 예를 들어, 사용자의 IoT 전화는 "주방 조명이 턴 온되지 않음" 또는 "주방 전구가 파손되어 주방 조명이 턴 온되지 않음"을 표시하기 위해 프롬프트될 수 있다. 다른 예에서, 사용자의 그/그녀 욕실에서의 IoT 라디오는 그 스피커(들)를 통해 "불충분한 열수가 이용가능하여 샤워가 턴 온되지 않음 - 샤워 전 10분 대기"를 출력하도록 프롬프트될 수 있다. 상기 개시로부터 알 수 있는 바와 같이, 840B에서 이벤트를 트리거하지 않는 IoT 제어기에 의한 결정은 상태 정보에 기초할 수 있다 (예를 들어, 특정 모션 시퀀스는 TV의 상태가 "오프"인 경우 TV에 대해 "온" 이벤트를 트리거하는 한편, TV가 이미 "온" 상태에 있었던 경우라면 동일한 모션 시퀀스가 "온" 이벤트를 트리거하지 않을 것이며, 기타 등등이다).
도 8b에서, 자동 또는 선제적 이벤트가 선제적 또는 상관 트리거 방식으로 수행되지 않는 상태에서, 사용자는 이벤트를 수동으로 수행하려는 시도를 여전히 할 수 있다. 따라서, 일 예에서, 주방 전구가 파손되어 있음을 IoT 제어기가 안다고 하더라도, 사용자는 전구를 교체하기 전에 전구 상태를 확인하기 위해 조명 스위치의 플릭을 시도할 수도 있다. 다른 예에서, 사용자의 샤워보다 기존 샤워의 열수에 IoT 제어기가 우선 순위를 준다고 하더라도, 사용자는 보다 많은 열수가 이용가능하게 되는 것을 기다리기보다는 서두를 수 있으며 차갑거나 미지근한 샤워를 즉시 하려고 할 수도 있다.
도 9a는 본 발명의 또다른 실시형태에 따라 모션 시퀀스 상관에 기초하여 이벤트를 선제적으로 트리거하는 프로세스를 도시한다. 도 8a와 반대로, 도 9a의 실시형태는, 개개의 IoT 모션 모니터들이 보고된 원시 모션 데이터 내의 임의의 모션 시퀀스들을 식별하고 임의의 상관된 이벤트들을 결정하는 것을 담당하는, 분산식 접근법에 관한 것이다.
도 9a를 참조하면, 도 7의 프로세스의 실행 후, IoT 제어기는 (보조 팩터들과 무관하게 또는 이와 함께) 임계 신뢰도 레벨에서 이벤트 타입들의 세트와 상관되는 모션 시퀀스들의 세트를 특정하는 모션 투 이벤트 상관 표로 IoT 모션 모니터들 1...N을 구성한다 (900). 이후 IoT 모션 모니터들 1...N은 이 기능을 수행하는 IoT 제어기에 의존하는 대신 (물론 보조 팩터들도 잠재적으로 포함하는) 모션 투 이벤트 상관 표를 유지한다. 도 9a에 명확하게 도시되어 있지 않지만, 새로운 이벤트 타입들이 특정 모션 시퀀스들에 상관되고 및/또는 다른 이벤트 타입들이 그 이전에 상관된 모션 시퀀스들과 비상관되기 때문에 900-905 가 반복될 수 있어, IoT 모션 모니터들 1...N이 비교적 최신의 모션 투 이벤트 상관 표를 유지할 수 있게 한다.
도 9a를 참조하면, IoT 모션 모니터들 1...N은 IoT 환경에서 원시 모션 데이터를 계속해서 검출한다 (910). 도 9a에는 도시되지 않지만, 910으로부터의 검출된 원시 모션 데이터는 추가적인 모션 투 이벤트 상관들을 식별하려는 목적으로 도 7의 720과 유사하게 IoT 제어기에 보고될 수 있다. 또한, IoT 디바이스들 1...N 및 IoT 모션 모니터들 1...N은 IoT 제어기로 보조 환경 데이터를 계속해서 선택적 검출한다 (915 및 920) (예를 들어, 도 7의 710 및 725와 유사). IoT 디바이스들 1...N은 도 9a의 915에서 IoT 모션 모니터들 1...N으로 보조 환경 데이터를 (예를 들어, 푸시 프로토콜 또는 상기에 논의된 푸시 프로토콜을 통해) 보고하지만, IoT 모션 모니터들은 도 9a에서 보조 환경 데이터가 IoT 제어기에 보고된 것으로 도시되지 않도록 모션 시퀀스들을 검출하기 위해 보조 환경 데이터를 국부적으로 사용하도록 구성된다. 하지만, 도 9a에 도시되지 않지만, 915 또는 920에서 획득된 보조 환경 데이터는 또한 추가 모션 투 이벤트 상관을 식별 (및 개선을 원조) 하려는 목적으로 도 7의 710 및 725와 유사하게 IoT 제어기에 보고될 수 있다.
IoT 모션 모니터들 1...N의 각각은 그 자신의 검출된 원시 모션 검출 데이터를 모니터링하여 (925), 모션 투 이벤트 상관 표에서 모션 시퀀스들의 세트로부터 임의의 모션 시퀀들이 검출되는지 여부를 결정한다 (930) (예를 들어, 중앙집중식 IoT 제어기 대신에 개개의 IoT 모션 모니터들에 의해 분산된 방식으로 구현되는 것을 제외하고는 도 8a의 830과 유사). 주어진 IoT 제어기가 930에서 모션 시퀀스들의 세트로부터의 임의의 모션 시퀀스들을 그 자신의 검출된 원시 모션 검출 데이터 내에 존재하는 것으로 검출하지 않는다면, 프로세스는 925로 리턴하고 주어진 IoT 모션 모니터는 그 자신의 검출된 원시 모션 검출 데이터를 계속해서 모니터링한다. 그렇지 않으면, 930에서 주어진 IoT 모션 모니터가 모션 시퀀스들의 세트로부터의 모션 시퀀스들 중 하나를 검출하지 않는 경우, 주어진 IoT 모션 모니터는 검출된 모션 시퀀스가 임계 신뢰도 레벨에서의 이벤트 타입의 상관에 요구되는 하나 이상의 보조 팩터들과 일치하는지 여부를 선택적으로 결정한다 (935) (예를 들어, 중앙집중식 IoT 제어기 대신에 개개의 IoT 모션 모니터들에 의해 분산된 방식으로 구현되는 것을 제외하고는 도 8a의 835와 유사).
상기에 논의된 바와 같이, 보조 팩터들은 TV 스케줄링 정보, 주위 실온 데이터, 일시 또는 요일 등을 포함할 수 있다. 935에서, 검출된 모션 시퀀스가 임계 신뢰도 레벨에서 이벤트 타입의 상관에 요구되는 하나 이상의 보조 팩터들과 일치하지 않는다고 주어진 IoT 모션 모니터가 결정한다면, 프로세스는 925로 리턴하고 주어진 IoT 모션 모니터는 그 자신의 검출된 원시 모션 검출 데이터를 계속해서 모니터링한다. 그렇지 않으면, 935에서, 검출된 모션 시퀀스가 임계 신뢰도 레벨에서 이벤트 타입의 상관에 요구되는 하나 이상의 보조 팩터들과 일치하다고 주어진 IoT 모션 모니터가 결정한다면 (또는 검출된 모션 시퀀스가 이벤트 타입의 상관을 위한 임의의 보조 팩터들에 의존하지 않는다면), 주어진 IoT 모션 모니터는 검출된 모션 시퀀스에 상관되는 이벤트 타입 (또는 타입들) 과 이벤트를 선제적으로 트리거하기 위한 하나 이상의 시그널링 메시지들을 전송한다 (940) (예를 들어, 중앙집중식 IoT 제어기 대신에 개개의 IoT 모션 모니터들에 의해 분산된 방식으로 구현되는 것을 제외하고는 도 8a의 840과 유사).
예를 들어, 상관된 이벤트 타입들이 조명 스위치 "온" 및 천장형 팬 "온"인 경우, 주어진 IoT 모션 모니터는 임의의 직접적인 사용자 상호작용없이 조명 스위치를 턴 "온"시키고 천장형 팬을 턴 "온"시키도록 명령하는 시그널링을 특정 조명 스위치 또는 특정 천장형 팬에 전송할 수도 있다. 945에서, IoT 디바이스들 1...N 중 하나 이상은 주어진 IoT 모션 모니터로부터 시그널링을 수신하고 그 이벤트에 대해 하나 이상의 액션들을 실행한다 (945). 950에서, 주어진 IoT 모션 모니터는 945로부터의 트리거된 이벤트를 용이하게 하기 위해 하나 이상의 보조 이벤트들을 선택적으로 트리거하며 (예를 들어, 중앙집중식 IoT 제어기 대신에 개개의 IoT 모션 모니터들에 의해 분산된 방식으로 구현되는 것을 제외하고는 도 8a의 850과 유사), 그리고 (예를 들어, 도 8a의 855와 관련하여 상술한 바와 같이) IoT 디바이스들 1...N 중 하나 이상은 하나 이상의 보조 이벤트들을 실행한다 (955). 상기 개시로부터 알 수 있는 바와 같이, 940에서 IoT 제어기에 의해 트리거되는 특정 이벤트 (또는 액션) 는 상태 정보에 기초할 수 있다 (예를 들어, 특정 모션 시퀀스는 조명의 상태가 "온"인 경우 조명에 대해 "오프" 이벤트를 트리거하는 한편 조명의 상태가 "오프"인 경우 조명에 대해 "온" 이벤트를 트리거하는 등일 것이다).
도 9b는 본 발명의 또다른 실시형태에 따라 모션 시퀀스 상관에 기초하여 이벤트를 선제적으로 트리거하는 프로세스를 도시한다. 도 9b를 참조하면, 900B 내지 935B는 각각 도 8a의 800 내지 835에 대응하며, 간략화를 위해 추가로 설명되지 않을 것이다.
도 9b에서는, 도 9a와 달리, 925B-935B에서 검출된 모션 시퀀스와 충분히 상관되는 이벤트를 주어진 IoT 모션 모니터가 식별한 이후, 주어진 IoT 모션 모니터는 이벤트를 수행하지 않는 것으로 결정한다 (940B) (예를 들어, 중앙집중식 IoT 제어기 대신에 개개의 IoT 모션 모니터들에 의해 분산된 방식으로 구현되는 것을 제외하고는 도 8b의 840B와 관련하여 상술한 바와 같음). 940B에서 이벤트를 수행하지 않을 것을 결정한 이후, 주어진 IoT 모션 모니터는, (예를 들어, 도 8b의 850B와 관련하여 상술한 바와 같이) 이벤트가 수행되지 않을 것이라는 것과 또한 선택적으로 이벤트가 수행되지 않는 이유를 사용자에게 경고하기 위해 (950B), (예를 들어, 중앙집중식 IoT 제어기 대신에 개개의 IoT 모션 모니터들에 의해 분산된 방식으로 구현되는 것을 제외하고는 도 8b의 845B와 관련하여 상술한 바와 같이), IoT 디바이스들 1...N 중 하나 이상에 경고를 선택적으로 전송한다 (945B). 상기 개시로부터 알 수 있는 바와 같이, 940B에서 이벤트를 트리거하지 않는 IoT 모션 모니터에 의한 판정은 상태 정보에 기초할 수 있다 (예를 들어, 특정 모션 시퀀스는 TV의 상태가 "오프"인 경우 TV에 대해 "온" 이벤트를 트리거하는 한편, TV가 이미 "온" 상태에 있다면 동일한 모션 시퀀스가 "온" 이벤트를 트리거하지 않을 것이며, 기타 등등이다).
도 10은 본 발명의 실시형태에 따라 모션 데이터에 대해 질의하는 프로세스를 도시한다. 도 7-9B와 관련하여 상술한 바와 같이, 도 7의 715-720에서 보고된 모션 데이터는 IoT 환경에서의 이벤트들을 선택적으로 (및 선제적으로) 트리거하기 위해 사용되는 시퀀스 투 이벤트 상관들을 발전시키기 위해 사용될 수 있다. 하지만, 모션 데이터를 추적하는 디바이스들 중 임의의 디바이스가 또한 하나 이상의 관심있는 디바이스들에 모션 데이터를 분산시킬 수 있음이 또한 가능하다.
도 10을 참조하면, 도 7의 740 이후의 일부 포인트에서, 주어진 디바이스 (예를 들어, IoT 환경에 배치되는 IoT 디바이스, IoT 환경으로부터 원격에 있는 디바이스 등) 는 IoT 환경과 관련된 모션 데이터를 패치할 것을 결정하고 모션 로깅 디바이스에 모션 데이터에 대한 질의를 전송한다 (1000). 예를 들어, 주어진 디바이스는 IoT 환경에 배치된 IoT 디바이스 (예를 들어, 써모스탯 등) 에 대응할 수 있다. 다른 예에서, 주어진 디바이스는 IoT 환경으로부터 원격에 있는 디바이스에 대응할 수 있다 (예를 들어, 원격 사용자는 베이비 모니터링 기능의 일부로서 모션 모니터링을 사용하는 페어런트일 수 있고, 이 경우 질의는 IoT 환경 등에서 베이비와 관련된 모션 데이터에 대한 것이다). 모션 로깅 디바이스는, IoT 제어기로서 동작하지 않는 개별 IoT 모션 모니터 또는 IoT 제어기 자체에 대응할 수 있다. 모션 로깅 디바이스가 개별 IoT 모션 모니터에 대응한다면, 질의는 그 특정 IoT 모션 모니터에 의해 로그되는 모션 데이터를 질의하는 기능을 한다. 모션 로깅 디바이스가 IoT 제어기에 대응한다면, 질의는 IoT 제어기가 모션 데이터를 수집하는 임의의 IoT 모션 모니터로부터 로그되는 모션 데이터를 질의하는 기능을 할 수 있다.
도 10의 1000을 참조하면, 일 예에서, 질의는 요청되는 모션 데이터의 타입의 측면에서 일반적일 수 있거나 (예를 들어, "IoT 환경에서 검출된 모든 최신 모션 데이터를 리턴함") 또는 요청되는 모든 모션 데이터의 타입의 측면에서 구체적일 수 있다 (예를 들어, "모든 로그된 원시 모션 데이터의 이력을 리턴함", "적어도 2개의 상이한 이벤트들과 상관되고 이전 4시간 내에 IoT 환경에서 검출된 모션 시퀀스들을 리턴함", "상관되지 않고, 이전 주의 월요일-금요일 동안의 4 PM과 6 PM 시간들 사이에서 검출되었던 모션 시퀀스들을 리턴함", "단일 이벤트와 상관되고, 주방과 근접하여 배치된 IoT 모니터(들)에 의해서만 이전 15분 이내에 IoT 환경에서 검출되었던 모션 시퀀스들을 리턴함").
1005에서, 모션 로깅 디바이스는 1000으로부터의 질의를 만족시킬 모션 데이터를 식별하려고 시도한다. 알 수 있는 바와 같이, 모션 로깅 디바이스는 IoT 환경에서 (상관 또는 비상관) 검출된 모션 시퀀스들 및/또는 보고된 원시 모션 데이터의 로그들과 질의의 파라미터들을 비교할 수 있다. 본원에 사용되는 바와 같이, "비상관" 모션 시퀀스는 단순히, IoT 환경에서는 관측되었지만 주어진 신뢰도 레벨에서 임의의 이벤트에 아직 상관되지 않은, 모션 시퀀스이다. 1010에서 질의를 만족하는 임의의 모션 데이터는 모션 로깅 디바이스에 의해 질의 디바이스로 리턴된다. 도시되지 않았지만, 질의 디바이스 (또는 그 사용자) 는 리턴된 모션 데이터의 분석에 기초하여 하나 이상의 액션들을 수행하기로 택할 수도 있다.
통상의 기술자들은 정보 및 신호들이 임의의 다양한 상이한 기술들 및 기법들을 사용하여 표현될 수도 있음을 인지할 것이다. 예를 들어, 상기 설명을 통해 언급될 수도 있는 데이터, 명령들, 커맨드들, 정보, 신호들, 비트들, 심볼들, 및 칩들은 전압들, 전류들, 전자기파들, 자기 필드들 또는 자기 입자들, 광학 필드들 또는 입자들, 또는 이들의 임의의 조합에 의해 표현될 수도 있다.
또한, 통상의 기술자들에게는 본원에 개시된 양태들에 관련하여 설명되는 다양한 예시적인 논리 블록들, 모듈들, 회로들, 및 알고리즘 단계들이 전자 하드웨어, 컴퓨터 소프트웨어, 또는 양쪽 모두의 조합들로 구현될 수도 있다는 것을 인지할 것이다. 하드웨어와 소프트웨어의 이러한 상호교환가능성을 명백히 예시하기 위해, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 회로들 및 단계들이 일반적으로 이들의 기능성의 관점에서 설명되었다. 이러한 기능성이 하드웨어 또는 소프트웨어 중 어느 것으로 구현되는지는 전체 시스템에 부과되는 설계 제약들 및 특정 애플리케이션에 의존한다. 통상의 기술자들은 설명된 기능성을 각각의 특정 애플리케이션에 대하여 다양한 방법들로 구현할 수도 있지만, 이러한 구현 결정들은 본원에 기재된 다양한 양태들 및 실시형태들의 범위를 벗어나도록 하는 것으로 해석되어서는 안된다.
본원에 개시된 실시형태들에 관련하여 설명된 다양한 예시적인 논리 블록들, 모듈들, 및 회로들은 여기에 설명된 기능들을 수행하도록 설계된 범용 프로세서, 디지털 신호 프로세서 (DSP), 주문형 집적 회로 (ASIC), 필드 프로그래밍가능 게이트 어레이 (FPGA) 또는 다른 프로그래밍가능 로직 디바이스, 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 컴포넌트들, 또는 이들의 임의의 조합으로 구현되거나 수행될 수도 있다. 범용 프로세서는 마이크로프로세서일 수도 있지만, 대안적으로는, 그 프로세서는 임의의 종래의 프로세서, 제어기, 마이크로제어기, 또는 상태 머신일 수도 있다. 또한, 프로세서는 컴퓨팅 디바이스들의 조합 (예를 들어, DSP 및 마이크로프로세서의 조합, 복수의 마이크로프로세서들, DSP 코어와 협력하는 하나 이상의 마이크로프로세서들, 또는 임의의 다른 이러한 구성) 으로도 구현될 수도 있다.
본원에 개시된 실시형태들과 관련하여 설명한 방법들, 시퀀스들 및/또는 알고리즘들은, 직접 하드웨어로, 프로세서에 의해 실행되는 소프트웨어 모듈로, 또는 이들 둘의 조합으로 구현될 수도 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터들, 하드 디스크, 착탈식 디스크, CD-ROM 또는 당업계에 알려진 임의의 다른 형태의 저장 매체에 상주할 수도 있다. 예시적인 저장 매체는 프로세서가 저장 매체로부터 정보를 판독하고 정보를 저장 매체에 기입할 수 있도록 프로세서에 커플링된다. 대안적으로는, 저장 매체가 프로세서에 통합될 수도 있다. 프로세서 및 저장 매체는 ASIC 에 상주할 수도 있다. ASIC 는 IoT 디바이스에 상주할 수도 있다. 대안적으로는, 프로세서 및 저장 매체는 이산 컴포넌트들로서 사용자 단말기에 상주할 수도 있다.
하나 이상의 예시적인 실시형태들에서, 설명한 기능들은 하드웨어, 소프트웨어, 펌웨어 또는 이들의 임의의 조합으로 구현될 수도 있다. 소프트웨어로 구현되는 경우, 그 기능들은 컴퓨터 판독가능 매체 상에 하나 이상의 명령들 또는 코드로서 저장되거나 또는 송신될 수도 있다. 컴퓨터 판독가능 매체들은, 한 장소로부터 다른 장소로의 컴퓨터 프로그램의 전송을 용이하게 하는 임의의 매체를 포함하는 통신 매체들 및 컴퓨터 저장 매체들 양쪽 모두를 포함한다. 저장 매체들은 컴퓨터에 의해 액세스될 수 있는 임의의 이용가능 매체들일 수도 있다. 제한이 아닌 예로서, 이러한 컴퓨터 판독가능 매체들은, RAM, ROM, EEPROM, CD-ROM 또는 다른 광 디스크 저장, 자기 디스크 저장 또는 다른 자기 저장 디바이스들, 또는 원하는 프로그램 코드를 명령들 또는 데이터 구조들의 형태로 운반하거나 저장하는데 사용될 수 있고 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체도 포함할 수 있다. 또한, 임의의 연결이 적절히 컴퓨터 판독가능 매체로 지칭된다. 예를 들어, 소프트웨어가 동축 케이블, 광섬유 케이블, 연선 (twisted pair), 디지털 가입자 라인 (DSL) 또는 무선 기술들, 예컨대, 적외선, 무선 및 마이크로파를 사용하여, 웹 사이트, 서버 또는 다른 원격 소스로부터 송신된다면, 동축 케이블, 광섬유 케이블, 연선, DSL, 또는 적외선, 무선 및 마이크로파와 같은 무선 기술이 그 매체의 정의에 포함된다. 디스크 (disk) 및 디스크 (disc) 는, 본 명세서에서 사용된 바와 같이, 콤팩트 디스크 (CD), 레이저 디스크, 광 디스크, 디지털 다기능 디스크 (DVD), 플로피 디스크 및 블루레이 디스크를 포함하며, 여기서, 디스크 (disk) 들은 데이터를 자기적으로 보통 재생하지만, 디스크 (disc) 들은 레이저로 데이터를 광학적으로 재생한다. 또한, 상술한 것들의 조합들도 컴퓨터 판독가능 매체들의 범위 내에 포함되어야 한다.
전술한 개시물이 예시적인 양태들 및 실시형태들을 나타내지만, 통상의 기술자들은 첨부된 청구항들에 의해 규정되는 본 개시물의 범위로부터 벗어나는 일 없이 다양한 변화들 및 변경들이 이루어질 수 있다는 것을 인지할 것이다. 여기에 설명된 양태들 및 실시형태들에 따른 방법 청구항들의 기능들, 단계들 및/또는 액션들은 어떤 특정의 순서로 수행될 필요는 없다. 또한, 비록 엘리먼트들이 단수로 상술되거나 또는 청구될 수도 있지만, 그 단수로의 제한이 명시적으로 언급되지 않는 한, 복수가 고려된다.

Claims (30)

  1. 장치를 동작시키는 방법으로서,
    사물 인터넷 (IoT; Internet of Things) 환경에서 모션 모니터들의 세트에 의해 검출된 원시 모션 데이터의 하나 이상의 보고들을 수신하는 단계;
    상기 IoT 환경 내의 IoT 디바이스들의 세트에 의해 검출된 하나 이상의 사용자 개시의 이벤트들을 나타내는 하나 이상의 보고들을 수신하는 단계로서, 하나 이상의 검출된 사용자 개시의 이벤트들의 각각이 복수의 상이한 이벤트 타입들 중 하나와 연관되는, 상기 하나 이상의 사용자 개시의 이벤트들을 나타내는 하나 이상의 보고들을 수신하는 단계;
    상기 하나 이상의 검출된 사용자 개시의 이벤트들의 각각에 대해, 보고된 상기 원시 모션 데이터를 상기 검출된 사용자 개시의 이벤트에 선행하는 시간의 임계 기간 내에 스캔하여, 상기 시간의 임계 기간 동안 발생한 상기 IoT 환경 내의 하나 이상의 모션 시퀀스들을 식별하는 단계; 및
    상기 보고된 원시 모션 데이터의 스캔에 기초하여, 주어진 이벤트 타입을 갖는 주어진 사용자 개시의 이벤트가 상관을 위한 임계 신뢰도 레벨을 초과하는 신뢰도 레벨에서 상기 시간의 임계 기간 내의 상기 주어진 모션 시퀀스에 후속할 것이라고 예측하는 것에 의해 적어도 부분적으로 기초하여 상기 IoT 환경에 대한 주어진 모션 시퀀스와 복수의 상이한 이벤트 타입들로부터의 주어진 이벤트 타입을 상관시키는 단계를 포함하는, 장치를 동작시키는 방법.
  2. 제 1 항에 있어서,
    상기 상관시키는 단계 이후 상기 IoT 환경 내에서 상기 주어진 모션 시퀀스를 검출하는 단계; 및
    상기 검출에 응답하여 사용자 상호작용 없이 상기 주어진 이벤트 타입을 갖는 주어진 이벤트를 수행하기 위해 상기 IoT 디바이스들의 세트로부터의 하나 이상의 IoT 디바이스들을 트리거하는 단계를 더 포함하는, 장치를 동작시키는 방법.
  3. 제 1 항에 있어서,
    상기 장치는 상기 IoT 환경으로부터 원격에 있는 서버로서 구현되는 IoT 제어기인, 장치를 동작시키는 방법.
  4. 제 1 항에 있어서,
    상기 장치는 상기 IoT 환경에서의 IoT 디바이스로서 구현되는 IoT 제어기인, 장치를 동작시키는 방법.
  5. 제 1 항에 있어서,
    상기 장치는 상기 모션 모니터들의 세트로부터의 주어진 모션 모니터에 상응하는, 장치를 동작시키는 방법.
  6. 제 1 항에 있어서,
    상기 주어진 모션 시퀀스와 상기 주어진 이벤트 타입의 상관은 네거티브 사용자 피드백에 의해 개선되는, 장치를 동작시키는 방법.
  7. 제 1 항에 있어서,
    상기 주어진 모션 시퀀스와 상기 주어진 이벤트 타입의 상관은 하나 이상의 보조 팩터들을 고려하여 개선되는, 장치를 동작시키는 방법.
  8. 제 7 항에 있어서,
    상기 하나 이상의 보조 팩터들은 상태 정보를 포함하는, 장치를 동작시키는 방법.
  9. 제 8 항에 있어서,
    상기 IoT 환경 내의 오브젝트는 복수의 상이한 상태들 중 하나 또는 복수의 상이한 상태 이력들 중 하나를 현재 갖도록 구성되고, 그리고
    상기 상관시키는 단계는, 어느 상태 또는 상태 이력이 상기 오브젝트에 대해 현재인 것으로 결정되는지에 기초하여 상기 주어진 모션 시퀀스와 하나 이상의 상이한 이벤트 타입들을 상관시키는, 장치를 동작시키는 방법.
  10. 제 1 항에 있어서,
    상기 원시 모션 데이터를 보고하는 하나 이상의 보고들 및/또는 상기 하나 이상의 검출된 사용자 개시의 이벤트들을 보고하는 하나 이상의 보고들은 상기 장치에 의한 폴링 (polling) 없이 주기적 또는 이벤트 구동의 방식으로 상기 장치에 의해 수신되는, 장치를 동작시키는 방법.
  11. 제 1 항에 있어서,
    상기 모션 모니터들의 세트 및/또는 상기 IoT 디바이스들의 세트를 주기적 또는 이벤트 구동 방식으로 폴링하는 단계를 더 포함하고,
    상기 원시 모션 데이터를 보고하는 하나 이상의 보고들 및/또는 상기 하나 이상의 검출된 사용자 개시의 이벤트들을 보고하는 하나 이상의 보고들은 상기 폴링에 응답하여 상기 장치에 의해 수신되는, 장치를 동작시키는 방법.
  12. 제 1 항에 있어서,
    상기 IoT 환경에서 검출된 하나 이상의 모션 시퀀스들 및/또는 상기 보고된 원시 모션 데이터의 적어도 일부에 대해 주어진 디바이스로부터 질의를 수신하는 단계;
    상기 질의를 만족시킬 모션 데이터를 식별시키려고 시도하는 단계; 및
    식별된 상기 모션 데이터를, 발견한 경우, 상기 주어진 디바이스로 리턴하는 단계를 더 포함하는, 장치를 동작시키는 방법.
  13. 장치를 동작시키는 방법으로서,
    사물 인터넷 (IoT) 환경에서 하나 이상의 IoT 디바이스들에 의해 수행되는 주어진 이벤트 타입이 주어진 모션 시퀀스와 상관된다고, 상관을 위한 임계 신뢰도 레벨을 초과하는 신뢰도 레벨에서 시간의 임계 기간 내에 상기 IoT 환경에서 상기 주어진 모션 시퀀스가 검출된 이후 상기 주어진 이벤트 타입이 상기 주어진 모션 시퀀스에 후속할 것이라고 예상하는 것에 기초하여, 결정하는 단계;
    상기 IoT 환경 내에서 모니터링되는 원시 모션 데이터를 스캔하는 단계;
    스캔된 상기 원시 모션 데이터 내에서 상기 주어진 모션 시퀀스를 검출하는 단계; 및
    상기 결정에 기초하여 사용자 상호작용 없이 상기 주어진 이벤트 타입을 갖는 주어진 이벤트를 수행하기 위해서, 상기 검출에 응답하여, 상기 IoT 환경 내에서 상기 하나 이상의 IoT 디바이스들을 트리거하는 단계를 포함하는, 장치를 동작시키는 방법.
  14. 제 13 항에 있어서,
    상기 장치는 상기 IoT 환경으로부터 원격에 있는 서버로서 구현되는 IoT 제어기인, 장치를 동작시키는 방법.
  15. 제 13 항에 있어서,
    상기 장치는 상기 IoT 환경에서의 IoT 디바이스로서 구현되는 IoT 제어기인, 장치를 동작시키는 방법.
  16. 제 13 항에 있어서,
    상기 장치는, 상기 IoT 환경 내의 모션을 모니터링하도록 구성되는, 주어진 모션 모니터에 상응하는, 장치를 동작시키는 방법.
  17. 제 13 항에 있어서,
    상기 트리거하는 단계는:
    상태 정보에 기초하여 상기 주어진 모션 시퀀스와 상관되는 복수의 이벤트들로부터 상기 주어진 이벤트를 선택하는 단계를 포함하는, 장치를 동작시키는 방법.
  18. 제 17 항에 있어서,
    복수의 상이한 상태들 또는 상이한 상태 이력들 중 하나를 갖도록 구성되는 상기 IoT 환경 내의 오브젝트와 연관되는 현재 상태 또는 현재 상태 이력을 결정하는 단계, 및
    상기 선택하는 단계는, 상기 오브젝트와 연관되는 상기 현재 상태 또는 상기 현재 상태 이력에 기초하여 상기 주어진 이벤트를 선택하는, 장치를 동작시키는 방법.
  19. 사물 인터넷 (IoT) 환경에서 모션 모니터들의 세트에 의해 검출된 원시 모션 데이터의 하나 이상의 보고들을 수신하도록 구성된 로직;
    상기 IoT 환경 내의 IoT 디바이스들의 세트에 의해 검출된 하나 이상의 사용자 개시의 이벤트들을 나타내는 하나 이상의 보고들을 수신하도록 구성된 로직으로서, 상기 하나 이상의 검출된 사용자 개시의 이벤트들의 각각이 복수의 상이한 이벤트 타입들 중 하나와 연관되는, 상기 하나 이상의 사용자 개시의 이벤트들을 나타내는 하나 이상의 보고들을 수신하도록 구성된 로직;
    상기 하나 이상의 검출된 사용자 개시의 이벤트들의 각각에 대해, 보고된 상기 원시 모션 데이터를 상기 검출된 사용자 개시의 이벤트에 선행하는 시간의 임계 기간 내에 스캔하여, 상기 시간의 임계 기간 동안 발생한 상기 IoT 환경 내의 하나 이상의 모션 시퀀스들을 식별하도록 구성된 로직; 및
    상기 보고된 원시 모션 데이터의 스캔에 기초하여, 주어진 이벤트 타입을 갖는 주어진 사용자 개시의 이벤트가 상관을 위한 임계치 신뢰도 레벨을 초과하는 신뢰도 레벨에서 상기 시간의 임계 기간 내의 상기 주어진 모션 시퀀스에 후속할 것이라고 예측하는 것에 의해 적어도 부분적으로 기초하여 상기 IoT 환경에 대한 주어진 모션 시퀀스와 복수의 상이한 이벤트 타입들로부터의 주어진 이벤트 타입을 상관시키도록 구성된 로직을 포함하는, 장치.
  20. 제 19 항에 있어서,
    상기 상관 이후 상기 IoT 환경 내에서 상기 주어진 모션 시퀀스를 검출하도록 구성된 로직; 및
    상기 검출에 응답하여 사용자 상호작용없이 상기 주어진 이벤트 타입을 갖는 주어진 이벤트를 수행하기 위해 상기 IoT 디바이스들의 세트로부터의 하나 이상의 IoT 디바이스들을 트리거하도록 구성된 로직을 더 포함하는, 장치.
  21. 제 19 항에 있어서,
    상기 장치는 (i) 상기 IoT 환경으로부터 원격에 있는 서버로서, 또는 상기 IoT 환경에서의 IoT 디바이스로서 구현되는 IoT 제어기인, 장치.
  22. 제 19 항에 있어서,
    상기 주어진 모션 시퀀스와 상기 주어진 이벤트 타입의 상관은 네거티브 사용자 피드백에 의해 개선되고, 그리고/또는
    상기 주어진 모션 시퀀스와 상기 주어진 이벤트 타입의 상관은 하나 이상의 보조 팩터들을 고려하여 개선되는, 장치.
  23. 제 19 항에 있어서,
    상기 원시 모션 데이터를 보고하는 하나 이상의 보고들 및/또는 상기 하나 이상의 검출된 사용자 개시의 이벤트들을 보고하는 하나 이상의 보고들은 상기 장치에 의한 폴링 없이 주기적 또는 이벤트 구동의 방식으로 상기 장치에 의해 수신되는, 장치.
  24. 제 19 항에 있어서,
    상기 IoT 환경에서 검출된 하나 이상의 모션 시퀀스들 및/또는 상기 보고된 원시 모션 데이터의 적어도 일부에 대해 주어진 디바이스로부터 질의를 수신하도록 구성된 로직;
    상기 질의를 만족시킬 모션 데이터를 식별하려고 시도하도록 구성된 로직; 및
    식별된 상기 모션 데이터를, 발견한 경우, 상기 주어진 디바이스로 리턴하도록 구성된 로직을 더 포함하는, 장치.
  25. 사물 인터넷 (IoT) 환경에서 하나 이상의 IoT 디바이스들에 의해 수행되는 주어진 이벤트 타입이 주어진 모션 시퀀스와 상관된다고, 상관을 위한 임계 신뢰도 레벨을 초과하는 신뢰도 레벨에서 시간의 임계 기간 내에 상기 IoT 환경에서 상기 주어진 모션 시퀀스가 검출된 이후 상기 주어진 이벤트 타입이 상기 주어진 모션 시퀀스에 후속할 것이라고 예상하는 것에 기초하여, 결정하도록 구성된 로직;
    상기 IoT 환경 내에서 모니터링되는 원시 모션 데이터를 스캔하도록 구성된 로직;
    스캔된 상기 원시 모션 데이터 내에서 상기 주어진 모션 시퀀스를 검출하도록 구성된 로직; 및
    상기 결정에 기초하여 사용자 상호작용 없이 상기 주어진 이벤트 타입을 갖는 주어진 이벤트를 수행하기 위해서, 상기 검출에 응답하여, 상기 IoT 환경 내에서 상기 하나 이상의 IoT 디바이스들을 트리거하도록 구성된 로직을 포함하는, 장치.
  26. 제 25 항에 있어서,
    상기 장치는 상기 IoT 환경으로부터 원격에 있는 서버로서 구현되는 IoT 제어기인, 장치.
  27. 제 25 항에 있어서,
    상기 장치는 상기 IoT 환경에서의 IoT 디바이스로서 구현되는 IoT 제어기인, 장치.
  28. 제 25 항에 있어서,
    상기 장치는, 상기 IoT 환경 내의 모션을 모니터링하도록 구성되는, 주어진 모션 모니터에 상응하는, 장치.
  29. 제 25 항에 있어서,
    상기 트리거하도록 구성된 로직은, 상태 정보에 기초하여 상기 주어진 모션 시퀀스와 상관되는 복수의 이벤트들로부터 상기 주어진 이벤트를 선택하는, 장치.
  30. 제 29 항에 있어서,
    복수의 상이한 상태들 또는 상이한 상태 이력들 중 하나를 갖도록 구성되는 상기 IoT 환경 내의 오브젝트와 연관되는 현재 상태 또는 현재 상태 이력을 결정하도록 구성된 로직, 및
    상기 트리거하도록 구성된 로직은, 상기 오브젝트와 연관되는 상기 현재 상태 또는 상기 현재 상태 이력에 기초하여 상기 주어진 이벤트를 선택하는, 장치.
KR1020167020684A 2013-12-30 2014-12-29 디바이스 액션을 개시하는 사용자의 모션 기반의 예측에 기초하여 사물 인터넷 (IoT) 에서의 디바이스 액션을 선제적으로 트리거링 KR20160104667A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201361922065P 2013-12-30 2013-12-30
US61/922,065 2013-12-30
US14/583,314 US9989942B2 (en) 2013-12-30 2014-12-26 Preemptively triggering a device action in an Internet of Things (IoT) environment based on a motion-based prediction of a user initiating the device action
US14/583,314 2014-12-26
PCT/US2014/072591 WO2015103154A1 (en) 2013-12-30 2014-12-29 PREEMPTIVELY TRIGGERING A DEVICE ACTION IN AN INTERNET OF THINGS (IoT) ENVIRONMENT BASED ON A MOTION-BASED PREDICTION OF A USER INITIATING THE DEVICE ACTION

Publications (1)

Publication Number Publication Date
KR20160104667A true KR20160104667A (ko) 2016-09-05

Family

ID=53481609

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167020684A KR20160104667A (ko) 2013-12-30 2014-12-29 디바이스 액션을 개시하는 사용자의 모션 기반의 예측에 기초하여 사물 인터넷 (IoT) 에서의 디바이스 액션을 선제적으로 트리거링

Country Status (6)

Country Link
US (1) US9989942B2 (ko)
EP (1) EP3090578A1 (ko)
JP (1) JP6581093B2 (ko)
KR (1) KR20160104667A (ko)
CN (1) CN105900142B (ko)
WO (1) WO2015103154A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200092454A (ko) * 2019-01-04 2020-08-04 김하영 물품 상태 탐지에 기초하는 지능형 습관 보조를 위한 IoT 장치

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10990894B2 (en) 2013-07-11 2021-04-27 Neura, Inc. Situation forecast mechanisms for internet of things integration platform
FR3031209A1 (fr) * 2014-12-24 2016-07-01 Orange Gestion d'entites electroniques pour la creation d'un fil d'actualites
US10175665B2 (en) * 2015-01-20 2019-01-08 Sony Corporation Management of an electronic system for fault detection
KR20170017066A (ko) * 2015-08-05 2017-02-15 삼성전자주식회사 휴대용 단말 장치 및 그 제어 방법
US10027920B2 (en) 2015-08-11 2018-07-17 Samsung Electronics Co., Ltd. Television (TV) as an internet of things (IoT) Participant
US10600296B2 (en) * 2015-08-19 2020-03-24 Google Llc Physical knowledge action triggers
US10129348B2 (en) 2015-12-04 2018-11-13 At&T Intellectual Property I, L.P. Method and apparatus for modifying behavior of a user via a network
US10362114B2 (en) * 2015-12-14 2019-07-23 Afero, Inc. Internet of things (IoT) apparatus and method for coin operated devices
KR102487902B1 (ko) * 2015-12-23 2023-01-12 삼성전자주식회사 전자기기를 제어하는 방법 및 장치
US11768823B2 (en) * 2016-02-17 2023-09-26 Verizon Patent And Licensing Inc. Rules execution system for IoT devices
KR20170105327A (ko) * 2016-03-09 2017-09-19 한국전자통신연구원 이종 사물 인터넷 플랫폼 기반 정보 수집장치, 정보 분석장치 및 정보 전달방법
US10861608B2 (en) * 2016-03-16 2020-12-08 Kiomars Anvari Internet of things (IoT) with novel time of day acquisition
US10719059B2 (en) * 2016-03-30 2020-07-21 Lenovo (Singapore) Pte. Ltd. Systems and methods for control of output from light output apparatus
US10444121B2 (en) * 2016-05-03 2019-10-15 Sap Se Fault detection using event-based predictive models
CN109564579B (zh) * 2016-06-13 2023-09-08 纽拉公司 用于物联网集成平台的情况预测机制
US10674357B2 (en) 2016-06-16 2020-06-02 T-Mobile Usa, Inc. Single interface for activating IoT devices to network data plans
CN107517238A (zh) 2016-06-17 2017-12-26 阿里巴巴集团控股有限公司 一种用于物联网的智能设备控制方法、装置和设备
CN107517236B (zh) * 2016-06-17 2021-06-15 斑马智行网络(香港)有限公司 一种用于物联网的事件处理方法、装置和设备
GB2552967A (en) * 2016-08-15 2018-02-21 Ratnakaran Nambiar Krishnan Improved control device
WO2018117610A1 (ko) 2016-12-20 2018-06-28 삼성전자 주식회사 홈 네트워크를 관리하는 서버 및 이의 제어방법
CN106598253B (zh) * 2016-12-23 2019-12-10 北京搜狐新媒体信息技术有限公司 一种数据预测方法及装置
JP6426138B2 (ja) * 2016-12-26 2018-11-21 株式会社ハイライト 徘徊検知システム、徘徊検知装置およびプログラム
US10671925B2 (en) * 2016-12-28 2020-06-02 Intel Corporation Cloud-assisted perceptual computing analytics
WO2018158172A1 (en) * 2017-03-02 2018-09-07 Philips Lighting Holding B.V. Control events in a system of networked home devices
US10878342B2 (en) 2017-03-30 2020-12-29 Intel Corporation Cloud assisted machine learning
US11221939B2 (en) 2017-03-31 2022-01-11 Commvault Systems, Inc. Managing data from internet of things devices in a vehicle
US10552294B2 (en) * 2017-03-31 2020-02-04 Commvault Systems, Inc. Management of internet of things devices
US11294786B2 (en) * 2017-03-31 2022-04-05 Commvault Systems, Inc. Management of internet of things devices
US10992711B2 (en) * 2017-04-13 2021-04-27 At&T Intellectual Property I, L.P. Network aware data driven internet of things service engine
KR102422139B1 (ko) 2017-11-03 2022-07-18 현대자동차주식회사 차량과 연동하는 사물인터넷 기기를 제어하는 방법 및 장치
EP3729393A1 (en) * 2017-12-20 2020-10-28 Fidelity Adt (Pty) Limited Security system with cloud-based controller
US10993101B2 (en) 2017-12-27 2021-04-27 Intel Corporation Discovery of network resources accessible by internet of things devices
US11307892B2 (en) 2018-06-27 2022-04-19 Optum Services (Ireland) Limited Machine-learning for state determination and prediction
CN112602305B (zh) * 2018-08-30 2024-06-14 三星电子株式会社 管理错过事件的方法和装置
US10917257B2 (en) 2018-11-15 2021-02-09 International Business Machines Corporation Internet of things enabled device termination
CN113016001B (zh) * 2018-11-19 2024-06-07 三星电子株式会社 对基于内容的推荐进行预测的方法和系统
US11411739B2 (en) * 2019-02-07 2022-08-09 Internatiional Business Machines Corporation Smart device to impose trust at the edge of a blockchain
US20220182300A1 (en) * 2019-04-17 2022-06-09 Signify Holding B.V. Network system operating with predicted events
CN110209061B (zh) * 2019-05-28 2022-08-09 九阳股份有限公司 一种智能控制系统中的事件上报处理方法及中控装置
US10966094B2 (en) * 2019-06-17 2021-03-30 Prompt.Io Inc. Messaging source verification method, apparatus, and system
US11907431B2 (en) 2019-09-06 2024-02-20 Warner Bros. Entertainment Inc. Gesture recognition device with minimal wand form factor
GB2619595A (en) * 2019-09-06 2023-12-13 Warner Bros Entertainment Inc Gesture-centric user interface
KR102415605B1 (ko) * 2019-11-12 2022-06-30 주식회사 엘지유플러스 IoT 장치를 이용한 이상 상황 감시 방법 및 장치
US11137474B2 (en) * 2020-01-15 2021-10-05 Kiomars Anvari Use of 5G IoT network to navigate and protect moving objects in a smart environment
US11052851B1 (en) * 2020-03-24 2021-07-06 Kiomars Anvari Use of IoT network and IoT ranging device for a navigation and protection system
US20220067547A1 (en) * 2020-09-01 2022-03-03 International Business Machines Corporation Smart environment mitigation of identified risk
WO2023085543A1 (en) * 2021-11-10 2023-05-19 Samsung Electronics Co., Ltd. Method and electronic device for generating activity reminder in iot environment

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3140911B2 (ja) * 1994-06-22 2001-03-05 東京瓦斯株式会社 人間活動監視補助装置
US7552030B2 (en) * 2002-01-22 2009-06-23 Honeywell International Inc. System and method for learning patterns of behavior and operating a monitoring and response system based thereon
JP2004064433A (ja) * 2002-07-29 2004-02-26 Seiko Epson Corp 機器操作システム及び機器操作プログラム、並びに機器操作方法
JP3954087B2 (ja) 2004-02-27 2007-08-08 松下電器産業株式会社 機器制御方法および機器制御装置
US7173604B2 (en) * 2004-03-23 2007-02-06 Fujitsu Limited Gesture identification of controlled devices
US7365737B2 (en) * 2004-03-23 2008-04-29 Fujitsu Limited Non-uniform gesture precision
US7301526B2 (en) * 2004-03-23 2007-11-27 Fujitsu Limited Dynamic adaptation of gestures for motion controlled handheld devices
US7154399B2 (en) 2004-04-09 2006-12-26 General Electric Company System and method for determining whether a resident is at home or away
US20060089538A1 (en) 2004-10-22 2006-04-27 General Electric Company Device, system and method for detection activity of persons
US20070257986A1 (en) * 2006-05-05 2007-11-08 Ivanov Yuri A Method for processing queries for surveillance tasks
US8149278B2 (en) 2006-11-30 2012-04-03 Mitsubishi Electric Research Laboratories, Inc. System and method for modeling movement of objects using probabilistic graphs obtained from surveillance data
JP5086729B2 (ja) * 2007-08-06 2012-11-28 パナソニック株式会社 機器制御システム
KR20090019152A (ko) 2007-08-20 2009-02-25 한국전자통신연구원 센서를 이용한 일상생활 행위 인식 방법 및 시스템
US7917332B2 (en) 2007-11-12 2011-03-29 Bae Systems Plc Sensor control
JP2009205648A (ja) 2008-02-29 2009-09-10 Carecom Co Ltd 住宅監視システム
WO2009156978A1 (en) 2008-06-26 2009-12-30 Intuitive User Interfaces Ltd System and method for intuitive user interaction
JP2010050664A (ja) * 2008-08-21 2010-03-04 Panasonic Corp 家電機器制御装置及びそのプログラム
US8417481B2 (en) * 2008-09-11 2013-04-09 Diane J. Cook Systems and methods for adaptive smart environment automation
EP2507682A2 (en) * 2009-12-04 2012-10-10 Next Holdings Limited Sensor methods and systems for position detection
EP2399513B1 (en) 2010-06-23 2017-01-04 Qatar University Qstp-B System for non-invasive automated monitoring, detection, analysis, characterisation, prediction or prevention of seizures and movement disorder symptoms
FR2971657A1 (fr) 2011-02-11 2012-08-17 Alcatel Lucent Determination d'objets reels actifs pour mise en œuvre d'une application logicielle
US20120293307A1 (en) * 2011-05-17 2012-11-22 Astraion, LLC RFID systems having improved read rates for localization and proximity detection
US20130106686A1 (en) * 2011-10-31 2013-05-02 Broadcom Corporation Gesture processing framework
CN103124285A (zh) * 2011-11-05 2013-05-29 李宗诚 基于价值链网络技术平台的智能集成机群操作系统
CN103124286A (zh) * 2011-11-07 2013-05-29 李宗诚 用于拓展云计算和物联网技术基础的天地操作系统
US8849730B2 (en) * 2011-12-15 2014-09-30 Microsoft Corporation Prediction of user response actions to received data
US8948789B2 (en) 2012-05-08 2015-02-03 Qualcomm Incorporated Inferring a context from crowd-sourced activity data
US8837780B2 (en) * 2012-06-22 2014-09-16 Hewlett-Packard Development Company, L.P. Gesture based human interfaces
CN102945029B (zh) 2012-10-31 2014-12-10 鸿富锦精密工业(深圳)有限公司 智能网关、智能家居系统及家电设备的智能控制方法
US9971492B2 (en) * 2014-06-04 2018-05-15 Quantum Interface, Llc Dynamic environment for object and attribute display and interaction
US10628682B2 (en) * 2016-04-29 2020-04-21 International Business Machines Corporation Augmenting gesture based security technology using mobile devices

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200092454A (ko) * 2019-01-04 2020-08-04 김하영 물품 상태 탐지에 기초하는 지능형 습관 보조를 위한 IoT 장치

Also Published As

Publication number Publication date
CN105900142A (zh) 2016-08-24
JP2017507526A (ja) 2017-03-16
JP6581093B2 (ja) 2019-09-25
EP3090578A1 (en) 2016-11-09
CN105900142B (zh) 2019-09-13
WO2015103154A1 (en) 2015-07-09
WO2015103154A9 (en) 2015-12-17
US9989942B2 (en) 2018-06-05
US20150185713A1 (en) 2015-07-02

Similar Documents

Publication Publication Date Title
KR20160104667A (ko) 디바이스 액션을 개시하는 사용자의 모션 기반의 예측에 기초하여 사물 인터넷 (IoT) 에서의 디바이스 액션을 선제적으로 트리거링
US9413827B2 (en) Context aware actions among heterogeneous internet of things (IOT) devices
KR101702799B1 (ko) Iot 디바이스 그룹에서의 협업 지능 및 의사 결정
US9438440B2 (en) Proximity detection of internet of things (IoT) devices using sound chirps
EP3175641B1 (en) On-boarding a device to a secure local network
EP3146733B1 (en) Triggering commands on a target device in response to broadcasted event notifications
JP6389256B2 (ja) ユーザアクティビティおよび/または近接度の検出に従ってIoT通知を経路指定するための機構
US9906605B2 (en) Enhanced DNS-based service discovery in an internet of things (IoT) environment
US20150006296A1 (en) NOTIFICATION DISMISSAL IN AN INTERNET OF THINGS (IoT) ENVIRONMENT
US20150358777A1 (en) Generating a location profile of an internet of things device based on augmented location information associated with one or more nearby internet of things devices
US20150199610A1 (en) Determining indoor location using pattern matching of proximal peer-to-peer devices
EP2959642A1 (en) Adaptive and extensible universal schema for heterogeneous internet of things (iot) devices
WO2014131021A2 (en) Methods to discover, configure, and leverage relationships in internet of things (iot) networks
WO2014210325A1 (en) Semantic mappings of human readable information to programming interfaces
JP2016513434A (ja) スマートコントローラからの多くの異なるデバイスの制御

Legal Events

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