KR102367395B1 - 홈 네트워크를 관리하는 서버 및 이의 제어방법 - Google Patents

홈 네트워크를 관리하는 서버 및 이의 제어방법 Download PDF

Info

Publication number
KR102367395B1
KR102367395B1 KR1020170145918A KR20170145918A KR102367395B1 KR 102367395 B1 KR102367395 B1 KR 102367395B1 KR 1020170145918 A KR1020170145918 A KR 1020170145918A KR 20170145918 A KR20170145918 A KR 20170145918A KR 102367395 B1 KR102367395 B1 KR 102367395B1
Authority
KR
South Korea
Prior art keywords
sensing data
sensors
sensor
data
electronic device
Prior art date
Application number
KR1020170145918A
Other languages
English (en)
Other versions
KR20180071932A (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 US16/464,989 priority Critical patent/US11303977B2/en
Priority to PCT/KR2017/015044 priority patent/WO2018117610A1/ko
Publication of KR20180071932A publication Critical patent/KR20180071932A/ko
Application granted granted Critical
Publication of KR102367395B1 publication Critical patent/KR102367395B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2823Reporting information sensed by appliance or service execution status of appliance services in a home automation network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q9/00Arrangements in telecontrol or telemetry systems for selectively calling a substation from a main station, in which substation desired apparatus is selected for applying a control signal thereto or for obtaining measured values therefrom
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3055Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3447Performance evaluation by modeling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2816Controlling appliance services of a home automation network by calling their functionalities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2823Reporting information sensed by appliance or service execution status of appliance services in a home automation network
    • H04L12/2827Reporting to a device within the home network; wherein the reception of the information reported automatically triggers the execution of a home appliance functionality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L2012/2847Home automation networks characterised by the type of home appliance used
    • H04L2012/285Generic home appliances, e.g. refrigerators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2209/00Arrangements in telecontrol or telemetry systems
    • H04Q2209/40Arrangements in telecontrol or telemetry systems using a wireless architecture
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2209/00Arrangements in telecontrol or telemetry systems
    • H04Q2209/70Arrangements in the main station, i.e. central controller
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2209/00Arrangements in telecontrol or telemetry systems
    • H04Q2209/80Arrangements in the sub-station, i.e. sensing device
    • H04Q2209/86Performing a diagnostic of the sensing device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Environmental & Geological Engineering (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Computer Hardware Design (AREA)
  • Selective Calling Equipment (AREA)

Abstract

홈 네트워크를 관리하는 서버가 개시된다. 본 서버는, 홈 네트워크 내의 적어도 하나의 전자 장치의 동작 상황 및 복수의 센서별 기준 센싱 데이터를 저장하는 저장부, 복수의 센서로부터 센싱 데이터를 수신하는 통신부 및 적어도 하나의 전자 장치의 동작 상황을 판단하고, 판단된 동작 상황에 대응되는 저장된 기준 센싱 데이터와 수신된 센싱 데이터를 비교하여 복수의 센서, 및 적어도 하나의 전자 장치의 에러 여부를 판단하는 프로세서를 포함한다.

Description

홈 네트워크를 관리하는 서버 및 이의 제어방법 {HOME NETWORK MANAGING SERVER AND CONTROLLING METHOD THEREOF}
본 개시는 홈 네트워크를 관리하는 서버 및 이의 제어방법에 관한 것으로, 더욱 상세하게는 홈 네트워크 내의 기기의 에러를 자동으로 감지할 수 있는 서버 및 이의 제어방법에 대한 것이다.
또한, 본 개시는 기계 학습 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 인공 지능(Artificial Intelligence, AI) 시스템을 이용하여 기기의 에러를 자동으로 감지하는 서버 및 이의 제어 방법에 대한 것이다.
컴퓨터 기술, 통신 기술 및 홈 일렉트로닉스 기술의 발달과 함께, 가정 내의 기기 및 시스템이 홈 네트워크로 연결되어 관리되는 홈 네트워크 관리 서비스가 등장하였고, 미래지향적 기술로서 각광받고 있다.
홈 네트워크로 연결되는 가정 내의 모든 정보가전기기들은 상호 간의 데이터 전송이 가능하며, 다양한 사용자 단말 장치와 통신할 수 있다. 예를 들어, 사용자는 휴대폰 등과 같은 사용자 단말 장치에 마련된 유저 인터페이스(User Interface;UI)를 이용하여 홈 네트워크로 연결된 가정 내의 모든 가전기기를 시간, 장소에 구애받지 않고 제어할 수 있다.
하지만, 이러한 환경에서 여러 대의 기기를 유지, 관리 및 보수하는 것에 어려움이 있었다. 예컨대, 홈 네트워크 내에 포함된 특정 센서가 고장 나더라도, 이러한 기기의 고장은 눈으로 확인될 수 있는 사항이 아니어서, 사용자가 고장을 인지하기엔 어려움이 있었다.
또한, 홈 네트워크 환경은 정해진 형태로 구조화되는 것이 아니라, 사용자가 원하는 대로 기기들이 구성하는 환경이 다양하게 결정되는 것이어서, 특정 환경을 가정해 두고, 그 환경에 맞는 기기 고장 상황을 예측하는 것도 불가능하였다.
한편, 근래에는 인간 수준의 지능을 구현하는 인공 지능 시스템이 다양한 분야에서 이용되고 있다. 인공 지능 시스템은 기존의 룰(rule) 기반 스마트 시스템과 달리 기계가 스스로 학습하고 판단하며 똑똑해지는 시스템이다. 인공 지능 시스템은 사용할수록 인식률이 향상되고 사용자 취향을 보다 정확하게 이해할 수 있게 되어, 기존 룰 기반 스마트 시스템은 점차 딥러닝 기반 인공 지능 시스템으로 대체되고 있다.
인공 지능 기술은 기계학습(예로, 딥러닝) 및 기계학습을 활용한 요소 기술들로 구성된다.
기계학습은 입력 데이터들의 특징을 스스로 분류/학습하는 알고리즘 기술이며, 요소기술은 딥러닝 등의 기계학습 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 기술로서, 언어적 이해, 시각적 이해, 추론/예측, 지식 표현, 동작 제어 등의 기술 분야로 구성된다.
인공 지능 기술이 응용되는 다양한 분야는 다음과 같다. 언어적 이해는 인간의 언어/문자를 인식하고 응용/처리하는 기술로서, 자연어 처리, 기계 번역, 대화시스템, 질의 응답, 음성 인식/합성 등을 포함한다. 시각적 이해는 사물을 인간의 시각처럼 인식하여 처리하는 기술로서, 객체 인식, 객체 추적, 영상 검색, 사람 인식, 장면 이해, 공간 이해, 영상 개선 등을 포함한다. 추론 예측은 정보를 판단하여 논리적으로 추론하고 예측하는 기술로서, 지식/확률 기반 추론, 최적화 예측, 선호 기반 계획, 추천 등을 포함한다. 지식 표현은 인간의 경험정보를 지식데이터로 자동화 처리하는 기술로서, 지식 구축(데이터 생성/분류), 지식 관리(데이터 활용) 등을 포함한다. 동작 제어는 차량의 자율 주행, 로봇의 움직임을 제어하는 기술로서, 움직임 제어(항법, 충돌, 주행), 조작 제어(행동 제어) 등을 포함한다.
본 개시는 상술한 문제점을 해결하기 위한 것으로, 본 개시의 목적은 홈 네트워크 내의 기기의 에러를 자동으로 감지할 수 있는 서버 및 이의 제어방법을 제공하기 위한 것이다.
또한 본 개시의 다른 목적은 인공지능 시스템을 이용하여 홈 네트워크 내의 기기의 에러를 자동으로 감지할 수 있는 서버 및 이의 제어방법을 제공하기 위한 것이다.
이상과 같은 목적을 달성하기 위한 본 개시의 일 실시 예에 따른 홈 네트워크를 관리하는 서버는, 상기 홈 네트워크 내의 적어도 하나의 전자 장치의 동작 상황 및 복수의 센서별 기준 센싱 데이터를 저장하는 저장부, 상기 복수의 센서로부터 센싱 데이터를 수신하는 통신부 및 상기 적어도 하나의 전자 장치의 동작 상황을 판단하고, 상기 판단된 동작 상황에 대응되는 상기 저장된 기준 센싱 데이터와 상기 수신된 센싱 데이터를 비교하여 상기 복수의 센서 및 상기 적어도 하나의 전자 장치의 에러 여부를 판단하는 프로세서를 포함한다.
이 경우, 상기 프로세서는, 상기 복수의 센서로부터 수신된 센싱 데이터 각각이 상기 판단된 동작 상황에 대응되는 복수의 센서별 기준 센싱 데이터의 기설정된 허용 범위 내인지를 판단하고, 상기 판단에 기초하여 상기 복수의 센서 및 상기 적어도 하나의 전자 장치의 에러 여부를 판단할 수 있다.
이 경우, 상기 프로세서는, 상기 복수의 센서 중 상기 기설정된 허용 범위를 벗어나는 센서가 기설정된 비율 이상이면 상기 판단된 동작 상황과 관련하여 상기 적어도 하나의 전자 장치가 에러 상태인 것으로 판단하고, 상기 복수의 센서 중 상기 기설정된 허용 범위를 벗어나는 센서가 상기 기설정된 비율 미만이면, 상기 기설정된 허용 범위를 벗어나는 센서가 에러 상태인 것으로 판단할 수 있다.
한편, 상기 프로세서는, 상기 적어도 하나의 전자 장치의 동작 상황이 신규 동작 상황인 것으로 판단되면, 상기 신규 동작 상황과 대응되는 시점에 상기 복수의 센서 각각으로부터 수신된 센싱 데이터를 상기 신규 동작 상황에 대응되는 기준 센싱 데이터로 상기 저장부에 저장할 수 있다.
한편, 상기 프로세서는, 상기 적어도 하나의 전자 장치의 동작 상황이 신규 동작 상황인 것으로 판단되면, 상기 복수의 센서로부터 각각 수신된 복수의 센싱 데이터 중 상기 신규 동작 상황과 대응되는 시점에 센싱 값의 변화를 보이는 센싱 데이터를 상기 신규 동작 상황에 대응하는 기준 센싱 데이터로 상기 저장부에 저장할 수 있다.
한편, 상기 프로세서는, 상기 홈 네트워크에 신규 센서가 등록된 이후, 상기 적어도 하나의 전자 장치의 동작 상황이 판단되면, 판단된 동작 상황과 대응되는 시점에 상기 신규 센서로부터 수신된 센싱 데이터를 상기 판단된 동작 상황에 대한 상기 신규 센서의 기준 센싱 데이터로 상기 저장부에 저장할 수 있다.
한편, 상기 프로세서는, 상기 적어도 하나의 전자 장치로부터 상태 정보를 수신하고, 수신된 상태 정보에 기초하여 상기 적어도 하나의 전자 장치의 동작 상황을 판단할 수 있다.
한편, 상기 프로세서는, 상기 적어도 하나의 전자 장치 및 복수의 센서 중 에러가 있는 것으로 판단된 기기에 대한 정보를 사용자 단말 장치로 전송하도록 상기 통신부를 제어할 수 있다.
한편, 상기 프로세서는, 상기 적어도 하나의 전자 장치 및 복수의 센서 중 에러가 있는 것으로 판단된 기기에 대한 정보와 함께 상기 판단된 동작 상황에 대한 정보를 사용자 단말 장치로 전송하도록 상기 통신부를 제어할 수 있다.
한편, 본 개시의 일 실시 예에 따른 홈 네트워크를 관리하는 서버의 제어방법은, 상기 홈 네트워크 내의 적어도 하나의 전자 장치의 동작 상황 및 복수의 센서별 기준 센싱 데이터를 저장하는 단계, 상기 복수의 센서로부터 센싱 데이터를 수신하는 단계, 상기 적어도 하나의 전자 장치의 동작 상황을 판단하는 단계 및 상기 판단된 동작 상황에 대응되는 상기 저장된 기준 센싱 데이터와 상기 수신된 센싱 데이터를 비교하여 상기 복수의 센서 및 상기 적어도 하나의 전자 장치의 에러 여부를 판단하는 단계를 포함한다.
이 경우, 상기 에러 여부를 판단하는 단계는, 상기 복수의 센서로부터 수신된 센싱 데이터 각각이 상기 판단된 동작 상황에 대응되는 복수의 센서별 기준 센싱 데이터의 기설정된 허용 범위 내인지를 판단하고, 상기 판단에 기초하여 상기 복수의 센서 및 상기 적어도 하나의 전자 장치의 에러 여부를 판단할 수 있다.
이 경우, 상기 에러 여부를 판단하는 단계는, 상기 복수의 센서 중 상기 기설정된 허용 범위를 벗어나는 센서가 기설정된 비율 이상이면 상기 판단된 동작 상황과 관련하여 상기 적어도 하나의 전자 장치가 에러 상태인 것으로 판단하고, 상기 복수의 센서 중 상기 기설정된 허용 범위를 벗어나는 센서가 상기 기설정된 비율 미만이면, 상기 기설정된 허용 범위를 벗어나는 센서가 에러 상태인 것으로 판단할 수 있다.
한편, 상기 저장하는 단계는, 상기 적어도 하나의 전자 장치의 동작 상황이 신규 동작 상황인 것으로 판단되면, 상기 신규 동작 상황과 대응되는 시점에 상기 복수의 센서 각각으로부터 수신된 센싱 데이터를 상기 신규 동작 상황에 대응되는 기준 센싱 데이터로 저장할 수 있다.
한편, 상기 저장하는 단계는, 상기 적어도 하나의 전자 장치의 동작 상황이 신규 동작 상황인 것으로 판단되면, 상기 복수의 센서로부터 각각 수신된 복수의 센싱 데이터 중 상기 신규 동작 상황과 대응되는 시점에 센싱 값의 변화를 보이는 센싱 데이터를 상기 신규 동작 상황에 대응하는 기준 센싱 데이터로 저장할 수 있다.
한편, 상기 저장하는 단계는, 상기 홈 네트워크에 신규 센서가 등록된 이후, 상기 적어도 하나의 전자 장치의 동작 상황이 판단되면, 판단된 동작 상황과 대응되는 시점에 상기 신규 센서로부터 수신된 센싱 데이터를 상기 판단된 동작 상황에 대한 상기 신규 센서의 기준 센싱 데이터로 저장할 수 있다.
한편, 상기 동작 상황을 판단하는 단계는, 상기 적어도 하나의 전자 장치로부터 상태 정보를 수신하고, 수신된 상태 정보에 기초하여 상기 적어도 하나의 전자 장치의 동작 상황을 판단할 수 있다.
한편, 본 개시에 따른 서버의 제어 방법은, 상기 적어도 하나의 전자 장치 및 복수의 센서 중 에러가 있는 것으로 판단된 기기에 대한 정보를 사용자 단말 장치로 전송하는 단계를 더 포함할 수 있다.
한편, 본 개시에 따른 서버의 제어 방법은, 상기 적어도 하나의 전자 장치 및 복수의 센서 중 에러가 있는 것으로 판단된 기기에 대한 정보와 함께 상기 판단된 동작 상황에 대한 정보를 사용자 단말 장치로 전송하는 단계를 더 포함할 수 있다.
한편, 본 개시의 일 실시 예에 따른 홈 네트워크를 관리하는 서버의 제어방법을 실행하기 위한 프로그램을 포함하는 컴퓨터 판독가능 기록매체에 있어서, 상기 제어방법은, 상기 홈 네트워크 내의 적어도 하나의 전자 장치의 동작 상황 및 복수의 센서별 기준 센싱 데이터를 저장하는 단계, 상기 복수의 센서로부터 센싱 데이터를 수신하는 단계, 상기 적어도 하나의 전자 장치의 동작 상황을 판단하는 단계 및 상기 판단된 동작 상황에 대응되는 상기 저장된 기준 센싱 데이터와 상기 수신된 센싱 데이터를 비교하여 상기 복수의 센서 및 상기 적어도 하나의 전자 장치의 에러 여부를 판단하는 단계를 포함한다.
도 1은 본 개시의 일 실시 예에 따른 홈 네트워크 시스템을 설명하기 위한 도면,
도 2는 홈 네트워크를 관리하는 본 개시의 일 실시 예에 따른 서버의 구성을 설명하기 위한 블럭도,
도 3 내지 도 5는 본 개시의 다양한 실시 예에 따른 서버의 에러 판단 방법을 설명하기 위한 도면,
도 6은 룩업 테이블 형태로 저장된 본 개시의 일 실시 예에 따른 에러 판단을 위한 기준 센싱 데이터를 설명하기 위한 도면,
도 7은 특정 상황에서 센서의 에러를 판단하는 본 개시의 일 실시 예에 따른 방법을 설명하기 위한 도면,
도 8은 본 개시의 일 실시 예에 따른 서버의 에러 판단 방법을 설명하기 위한 흐름도, 그리고
도 9는 본 개시의 일 실시 예에 따른 서버의 제어방법을 설명하기 위한 흐름도이다.
도 10은 본 개시의 일 실시 예에 따른 에러 판단 과정을 설명하기 위한 도면이다.
도 11 내지 도 13은 본 개시의 일 실시예에 따른 서버의 프로세서에서 생성되는 데이터 학습부 및 데이터 인식부를 도시한다.
본 개시를 설명함에 있어서, 관련된 공지기능 혹은 구성에 대한 구체적인 설명이 본 개시의 요지를 불필요하게 흐릴 수 있다고 판단된 경우 그 상세한 설명은 생략한다. 그리고 후술 되는 용어들은 본 개시에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관계 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 구성요소들은 용어들에 의해 한정되어서는 안 된다. 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
본 개시에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 권리범위를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "구성되다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
실시 예에 있어서 '모듈' 혹은 '부'는 적어도 하나의 기능이나 동작을 수행하며, 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 '모듈' 혹은 복수의 '부'는 특정한 하드웨어로 구현될 필요가 있는 '모듈' 혹은 '부'를 제외하고는 적어도 하나의 모듈로 일체화되어 적어도 하나의 프로세서로 구현될 수 있다.
아래에서는 첨부한 도면을 참고하여 본 개시의 실시 예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. 그리고 도면에서 본 개시를 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
이하에서는 도면을 참조하여 본 개시에 대해 더욱 상세히 설명하기로 한다.
도 1은 본 개시의 일 실시 예에 따른 홈 네트워크 시스템(1000)을 도시한 도면이다.
도 1을 참고하면, 홈 네트워크 시스템(1000)은 서버(100) 및 서버(100)와 연결된 복수의 클라이언트 기기(11~18)를 포함한다.
서버(100)는 홈 네트워크에 포함된 복수의 클라이언트 기기(11~18)와 유선 또는 무선 통신 방식으로 연결될 수 있다. 그리고 서버(100)는 복수의 클라이언트 기기(11~18)의 제어, 관리 및 연동 등을 담당할 수 있다. 서버(100)는 독립적인 기기로 존재할 수 있고, 다른 기기에 탑재될 수도 있다.
서버(100)는 가정 내의 네트워크와 외부 네트워크를 상호 접속, 중재하는 게이트 웨이의 역할을 수행할 수도 있다. 이 경우, 서버(100)는 외부 기기에서 제공되는 제어 명령을 복수의 클라이언트 기기(11~18)로 전송하거나, 복수의 클라이언트 기기(11~18)의 상태 정보를 수집하여 외부 기기로 전송할 수 있다.
그리고 서버(100)는 사용자 단말 장치로부터 제어 명령을 수신하여 복수의 클라이언트 기기(11~18)를 제어할 수 있고, 복수의 클라이언트 기기(11~18)의 상태 정보를 수집하여 사용자 단말 장치로 전송할 수 있다. 이 경우 사용자 단말 장치는 스마트폰, 데스크톱 컴퓨터, 노트북, 테블릿 PC, PDA 등과 같은 기기일 수 있다.
도 1에 도시된 것과 같은 다수의 클라이언트 기기를 관리, 유지, 보수하기 위해서 서버(100)는 복수의 클라이언트 기기(11~18)의 에러를 자동으로 판단할 수 있다. 한편, 본 명세서에서 클라이언트 기기는 다른 말로 홈 네트워크에 포함된 전자 장치 또는 홈 네트워크에 포함된 센서 등으로 나타내어질 수 있다.
복수의 클라이언트 기기(11~18)는 환경을 센싱할 수 있는 센서, 예컨대 도 1에서 온도/조도 센서(11, 12, 17), 전력 측정 센서(15, 18) 등과 같은 센서와, 이러한 센서의 감지 대상이 되는 장치, 예컨대 도 1에서 전구(10, 14), TV(13), 에어컨(16) 등과 같은 장치를 포함할 수 있다. 물론, 전구(10, 14), TV(13), 에어컨(16) 등과 같은 장치도 센서 기능을 가질 수 있다.
예컨대, 전구(10, 14)는 조도 센서를 포함할 수 있고, 센서에서 감지된 주변 밝기에 기초하여 자동으로 전구(10, 14)의 밝기가 조절될 수 있다. 그리고 TV(13)는 조도 센서를 포함할 수 있고, 센서에서 감지된 주변 밝기에 기초하여 자동으로 TV(13)의 디스플레이의 밝기가 조절될 수 있다. 그리고 에어컨(16)은 온도 센서를 포함할 수 있고, 센서에서 감지된 온도에 기초하여 냉방 온도가 자동으로 제어될 수 있다.
서버(100)는 복수의 클라이언트 기기(11~18) 간의 동작 관계를 바탕으로 에러가 발생한 기기를 검출해낼 수 있다.
예컨대, TV(13)의 전원이 켜지면 TV의 디스플레이가 켜지게 되므로 TV 주변의 제1 온도/조도 센서(10)에서 조도 변화를 감지할 수 있고, 전력측정센서(15)에선 TV에 전원이 공급됨에 따른 전력 소모를 측정할 수 있다. 이와 같은 상황은 에러가 없는 상황이다. 그런데 제1 온도/조도 센서(10)에 에러가 발생한 경우, TV(13)가 켜지면 전력측정센서(15)에선 TV에 전원이 공급됨에 따른 전력 소모가 측정되고, 제1 온도/조도 센서(10)에선 조도 변화가 감지되지 않는다. 즉, 정상 상황일 때와 비교해보면 제1 온도/조도 센서(10)에 문제가 생겼음을 알 수 있다.
서버(100)는 정상 동작 상황에서의 복수의 클라이언트 기기(11~18)의 동작 관계에 대한 정보를 저장하고 있고, 이러한 정보를 바탕으로 현재 판단된 복수의 클라이언트 기기(11~18)의 동작 상황에서 어떠한 클라이언트 기기에 에러가 있는지를 검출해낼 수 있다.
특히, 본 개시에 따르면, 정상 동작 상황에서의 복수의 클라이언트 기기(11~18)의 동작 관계에 대한 정보는 홈 네트워크의 클라이언트 기기들이 사용되는 과정에서 획득될 수 있는 것이므로, 이러한 정보를 별도로 구축하는데 드는 비용, 시간이 줄어들 수 있다. 무엇보다도, 이러한 정보는 홈 네트워크에 신규 기기를 추가하는 등의 환경의 변화에도 적응적으로 갱신될 수 있으므로, 본 개시는 IoT 환경에 적용되기에 적절하다.
또한, 서버(100)는 에러가 발생한 기기에 대한 정보 및 에러가 발생한 동작 상황에 대한 정보를 사용자 단말 장치에 전송함으로써 사용자에게 알릴 수 있다.
한편, '홈' 네트워크 시스템으로 설명하였으나, 본 개시가 집안 환경에만 사용되는 것을 한정한 것은 아니고, 학교, 회사 등 다양한 환경에 적용될 수 있다.
또 한편, 서버(100)가 한 개인 것으로 설명하였으나, 홈 네트워크 시스템(1000)에는 여러 대의 서버가 존재할 수도 있다.
이하, 도 2를 참고하여 서버(100)에 대해 좀 더 자세히 설명하도록 한다.
도 2를 참고하면, 서버(100)는 통신부(110), 저장부(120) 및 프로세서(130)를 포함한다.
통신부(110)는 다양한 유형의 통신방식에 따라 다양한 유형의 외부 기기와 통신을 수행하는 구성이다. 통신부(110)는 예컨대, 근거리 통신망(LAN: Local Area Network) 또는 인터넷망을 통해 외부 기기에 접속될 수 있고, 무선 통신(예를 들어, Z-wave, 4LoWPAN, RFID, LTE D2D, BLE, GPRS, Weightless, Edge Zigbee, ANT+, NFC, IrDA, DECT, WLAN, 블루투스, 와이파이, Wi-Fi Direct, GSM, UMTS, LTE, WiBRO 등의 무선 통신) 방식에 의해서 외부 기기에 접속될 수 있다. 통신부(110)는 와이파이칩, 블루투스 칩, 무선 통신 칩 등 다양한 통신칩을 포함할 수 있다.
통신부(110)는 서버(100)가 관리하는 홈 네트워크에 포함된 클라이언트 장치들과 연결되어 상태 정보를 수신할 수 있다. 또한, 통신부(110)는 홈 네트워크에 포함된 센서들로부터 센싱 데이터를 수신할 수 있다.
저장부(120)는 서버(100)의 제어를 위해 필요한 각종 프로그램, 정보가 저장될 수 있는 구성이다. 예컨대, 저장부(120)는 비휘발성 메모리, 휘발성 메모리, 플래시메모리(flash-memory), 하드디스크 드라이브(HDD) 또는 솔리드 스테이트 드라이브(SSD) 등으로 구현될 수 있다. 한편, 저장부는 서버(100) 내의 저장 매체뿐만 아니라, 외부 저장 매체, 예를 들어, micro SD 카드, USB 메모리, 외부 서버로 구현될 수도 있다.
저장부(120)는 홈 네트워크 관리에 필요한 각종 정보를 저장할 수 있다. 예컨대, 저장부(120)는 서버(100)에 연결된 클라이언트 기기들에 대한 정보를 포함할 수 있다. 구체적으로, 클라이언트 기기가 센서인 경우, 그 센서가 감지 가능한 대상에 대한 정보가 저장부(120)에 저장되어 있을 수 있다.
그리고 저장부(120)는 클라이언트 기기들을 제어하기 위한 제어 명령의 리스트가 저장할 수 있다. 제어 명령의 리스트는 클라이언트 기기별로 저장부(120)에 저장될 수 있다.
그리고 저장부(120)는 클라이언트 기기들을 사용함에 따라 생성되는 정보를 저장할 수 있다. 구체적으로 저장부(120)는 클라이언트 기기들을 제어한 이력을 저장할 수 있다. 그리고 저장부(120)는 클라이언트 기기들 중 센서에서 생성된 센싱 데이터의 이력을 저장할 수 있다.
특히, 저장부(120)는 홈 네트워크 내의 적어도 하나의 전자 장치의 동작 상황 및 복수의 센서별 기준 센싱 데이터를 저장할 수 있다. 이러한 기준 센싱 데이터는 동작 상황별로 복수의 센서마다 룩업 테이블 형태로 저장부(120)에 저장될 수 있다.
프로세서(130)는 서버(100)의 전반적인 동작을 제어하기 위한 구성이다. 예컨대 프로세서(130)는 적어도 하나의 CPU(또는 DSP, MPU 등), RAM, ROM, 시스템 버스를 포함할 수 있다. 프로세서는 MICOM(MICRO COMPUTER), ASIC(application specific integrated circuit) 등으로 구현될 수 있다.
프로세서(130)는 홈 네트워크에 포함된 클라이언트 기기들의 동작 상황을 판단할 수 있다. 동작 상황은 한 대 또는 복수 대의 클라이언트 기기가 연관될 수 있다.
일 예로, 프로세서(130)는 클라이언트 기기들로부터 상태 정보를 수신하여, 수신된 상태 정보에 기초하여 클라이언트 기기들의 동작 상황을 판단할 수 있다.
상태 정보란 서버(100) 측에서 클라이언트 기기의 동작 상황을 파악할 수 있는 정보로, 구체적으로는, 클라이언트 기기의 동작 상태를 서버(100) 측에서 파악할 수 있는 정보일 수 있다. 예컨대, TV의 경우, 현재 TV에 전원이 온되었는지, 오프되었는지, 동작 모드가 절전 모드인지 등을 알리는 정보가 상태 정보가 될 수 있고, 에어컨의 경우, 현재 에어컨이 냉방 가동 중인지, 냉방 온도는 몇도인지, 에어컨에서 제습 기능이 수행되고 있는지 등을 알리는 정보가 상태 정보가 될 수 있다.
또 다른 예로, 상태 정보는 센서의 감지 상태를 나타내는 정보일 수 있다. 이 경우, 센서로부터 수신되는 센싱 데이터에 기초하여 상태 정보가 결정될 수 있다. 예컨대, 재실 센서(precense sensor)는 센싱 데이터를 서버(100)로 전송하고, 프로세서(130)는 수신된 센싱 데이터에 기초하여 재실 센서가 재실을 감지한 상태인지 여부를 판단할 수 있다. 또 다른 예로, 온도 센서는 센싱 데이터를 서버(100)로 전송하고, 프로세서(130)는 수신된 센싱 데이터에 기초하여 온도 센서가 몇도의 온도를 감지한 상태인지 판단할 수 있다.
클라이언트 장치에 따라, 상태 정보를 지속적으로 또는 기 설정된 주기로 서버(100)로 전송할 수 있다. 또는, 프로세서(130)는 클라이언트 기기로 상태 정보를 전송할 것을 통신부(110)를 통해 요청할 수 있고, 요청에 따라 클라이언트 기기는 서버(100)로 상태 정보를 전송할 수 있다. 또는, 프로세서(130)는 클라이언트 기기로 특정 동작 수행을 위한 제어 명령을 전송하도록 통신부(110)를 제어할 수 있고, 클라이언트 기기는 수신된 제어 명령에 대한 동작을 수행하고, 동작이 수행되었음을 알리는 응답 정보로서 상태 정보를 전송할 수 있다.
상기와 같이 프로세서(130)는 적어도 하나의 클라이언트 기기에서 수신된 상태 정보에 기초하여 현재 홈 네트워크의 클라이언트 기기들의 동작 상황을 판단할 수 있다.
또 다른 실시 예에선, 상태 정보 대신, 센싱 데이터에 기초하여 동작 상황이 판단될 수 있다. 구체적으로, 프로세서(130)는 동작 상황이 판단되면, 해당 동작 상황에 대응되는 시점에 홈 네트워크에 포함된 센서들로부터 수신된 센싱 데이터에 기초하여 해당 동작 상황에 대응되는 기준 센싱 데이터를 저장부(120)에 저장할 수 있다. 이후, 상기 센서들로부터 센싱 데이터가 수신되면, 수신된 센싱 데이터와 상기 저장된 기준 센싱 데이터를 비교하여, 현재 동작 상황을 판단할 수 있다.
한편, 프로세서(130)는 센서로부터 수신되는 센싱 데이터 자체를 이용하거나, 수신된 센싱 데이터를 가공하여 가공된 센싱 데이터를 이용할 수 있다. 예컨대, 프로세서(130)는 온도 센서로부터 수신된 온도 값 자체를 기준 센싱 데이터로 저장하거나, 온도 센서로부터 수신된 온도 값에 기초하여 판단된 온도의 증감에 대한 정보를 기준 센싱 데이터로 저장할 수 있다.
프로세서(130)는 클라이언트 기기들의 다양한 동작 상황별로, 홈 네트워크에 포함된 복수의 센서 각각의 기준 센싱 데이터를 저장부(120)에 저장할 수 있다. 기준 센싱 데이터는 클라이언트 기기들의 결함 여부를 판단하는데 사용하기 위한 것이다. 기준 센싱 데이터는 미리 정의되는 것이 아니고, 클라이언트 기기들을 사용함에 따라 생성되는 데이터이다.
구체적으로, 프로세서는(130)는 클라이언트 기기들의 동작 상황을 판단하고, 판단된 동작 상황이 새로운 동작 상황이면, 상기 새로운 동작 상황에 대응되는 시점에 홈 네트워크에 포함된 센서들로부터 수신된 센싱 데이터에 기초하여 상기 새로운 동작 상황에 대응되는 기준 센싱 데이터를 저장부(120)에 저장할 수 있다.
동작 상황별로, 복수의 센서 각각의 기준 센싱 데이터는 룩업 테이블(Lookup table)의 형태로 저장부(120)에 저장될 수 있다.
그리고 프로세서(130)는 클라이언트 기기들의 현재 동작 상황을 판단하고, 판단된 동작 상황이 룩업 테이블에 등록되어 있으면, 해당 동작 상황에 대응되는 복수의 센서의 기준 센싱 데이터와, 현재 복수의 센서로부터 각각 수신된 복수의 센싱 데이터를 비교하여, 수신된 복수의 센싱 데이터 각각이 복수의 센서별 기준 센싱 데이터의 기 설정된 허용 범위 내인지를 판단하고, 판단에 기초하여 동작 상황에 연관된 클라이언트 기기들의 에러 여부를 판단할 수 있다.
여기서 기 설정된 허용 범위 내인지 여부를 판단하는 것은, 비교된 센싱 데이터들 간의 불일치가 기 설정된 오차 범위 이내인지를 판단하는 것을 의미할 수 있다.
기준 센싱 데이터 저장과 관련한 실시 예를 도 3을 참고하여 설명하도록 한다.
도 3을 참고하면, TV(31)가 전원이 온 되었고, TV(31)는 전원이 온 되었음을 알리는 상태 정보를 서버(100)로 전송한다. 프로세서(130)는 TV(31)로부터 수신된 상태 정보에 기초하여 TV가 온 되었다는 동작 상황을 판단할 수 있고, 이 동작 상황이 새로운 동작 상황, 즉 최초로 판단된 동작 상황이면, TV가 온된 시점에 전력 측정 센서(32) 및 조도 센서(33)로부터 각각 수신된 센싱 데이터들을 'TV 전원 온'이라는 동작 상황에 대응하는 기준 센싱 데이터로 저장부(120)에 저장할 수 있다. TV(31)의 전원이 온됨에 따라 TV의 디스플레이부가 켜졌을 것이므로, 조도 센서(33)에선 밝기 변화가 감지되었을 것이고, 전력 측정 센서(32)에선 전력의 소모가 감지되었을 것이다. 이와 같은 센싱 데이터들 각각이 TV의 전원이 온된 동작 상황에 대응하는 기준 센싱 데이터로서 저장될 수 있다.
이와 같이 기준 센싱 데이터들이 저장된 이후에, 프로세서(130)는 TV(31)로부터 수신된 상태 정보에 기초하였을 때, TV(31)의 전원이 온되는 동작 상황이 판단되면, 프로세서(130)는 전력 측정 센서(32) 및 조도 센서(33)에서 각각 수신된 센싱 데이터를 상기와 같이 저장된 기준 센싱 데이터들과 비교한다. 비교 결과, 조도 센서(33)로부터 수신된 센싱 데이터가 조도 센서(33)의 기준 센싱 데이터의 기 설정된 허용 범위 내이지만, 전력 측정 센서(32)에서 수신된 센싱 데이터는 전력 측정 센서(32)의 기준 센싱 데이터의 기 설정된 허용 범위를 벗어나는 경우(예컨대, 전력 변화가 감지 되지 않은 경우), 프로세서(130)는 전력 측정 센서(32)에 에러가 생겼다고 판단할 수 있다.
그런데 만약, 비교 결과, 조도 센서(33)로부터 수신된 센싱 데이터와 전력 측정 센서(32)로부터 수신된 센싱 데이터 모두 기준 센싱 데이터들의 기 설정된 허용 범위를 벗어나는 경우라면, 조도 센서(33)와 전력 측정 센서(32)에 에러가 발생하였다기 보단 TV(31)에 에러가 생겼을 가능성이 크다. 이러한 상황은 예컨대, TV(31)는 서버(100)로 전원이 온 되었음을 알리는 상태 정보를 보냈으나, TV(31) 내부 부품의 문제로 실제 TV의 디스플레이가 켜지지 않는 상황일 수 있다.
이 경우, 조도 센서(33)는 TV의 디스플레이가 켜지지 않았으므로 밝기 변화를 감지할 수 없으며, 전력 측정 센서(32)에선 TV(31)의 디스플레이가 작동되지 않음에 따라 정상적으로 디스플레이가 동작할 때만큼의 전력 소비가 감지되지 않는다. 따라서, 프로세서(130)는 TV(31)가 전원 온 되는 동작 상황이 판단되었는데도 전력 측정 센서(32)와 조도 센서(33)로부터 수신된 센싱 데이터가 모두 기준 센싱 데이터와 일치하지 않으면 TV(31)에 에러가 생긴 것으로 판단할 수 있다.
한편, 에러 여부 판단에 이용되는 센싱 데이터는 센서로부터 수신된 데이터가 미가공된 것이거나, 센서로부터 수신된 데이터를 분석하여 가공한 것일 수 있다. 예컨대, 온도 센서로부터 수신한 온도 값을 에러 여부 판단을 위한 센싱 데이터로서 사용될 수 있으며, 온도 센서로부터 수신한 온도 값을 분석하고 가공하여 얻은 온도의 증가 상태 또는 온도의 감소 상태에 대한 정보도 하나의 센싱 데이터로서 사용될 수 있다.
상술한 바와 같이, 프로세서(130)는 홈 네트워크 내의 전자 장치들의 동작 상황을 판단하고, 판단된 동작 상황에 대응되는 복수의 센서 각각의 기준 센싱 데이터들과 상기 복수의 센서로부터 수신된 복수의 센싱 데이터를 센서별로 비교하여, 센서들과 전자 장치들의 에러 여부를 판단할 수 있다.
한편, 상술한 예에선 기준 센싱 데이터가 새로운 동작 상황이 판단된 경우에 생성되는 것으로 설명하였으나, 이에 한정되는 것은 아니고, 프로세서(130)는 재 발생된 동작 상황에 대해서도 새롭게 기준 센싱 데이터를 수집하고, 새롭게 수집된 기준 센싱 데이터와 기 저장된 기준 센싱 데이터와 비교하여, 기 설정된 허용 범위 내에서 서로 일치한 것으로 판단되면, 새롭게 수집된 기준 센싱 데이터를 기 저장된 기준 센싱 데이터와 병합하고, 그것의 평균 데이터를 해당 동작 상황에 대응되는 기준 센싱 데이터로 새로 생성할 수 있다.
한편, 프로세서(130)는 홈 네트워크에 신규 센서가 등록된 이후, 홈 네트워크 내의 적어도 하나의 전자 장치의 동작 상황이 판단되면, 상기 판단된 동작 상황과 대응되는 시점에 신규 센서로부터 수신된 센싱 데이터를 상기 판단된 동작 상황에 대한 상기 신규 센서의 기준 센싱 데이터로 저장부(120)에 저장할 수 있다. 즉, 상기 판단된 동작 상황에 대한 상기 신규 센서의 기준 센싱 데이터가 룩업 테이블에 추가될 수 있다. 신규 센서과 연관된 동작 상황이 새롭게 발생할 때마다 신규 센서의 센싱 데이터에 기초하여 기준 센싱 데이터가 생성되어 룩업 테이블에 추가될 수 있다.
예컨대, 도 3과 같은 상황에서 전력 측정 센서(32)와 제1 조도 센서(33)뿐만 아니라 TV(31)에 인접하여 신규의 제2 조도 센서가 새롭게 배치된 경우, TV(31)의 전원이 온 되는 동작 상황이 판단되면, 프로세서(130)는 그 동작 상황이 발생하였을 때 제2 조도 센서로부터 수신되는 센싱 데이터가 최초인 경우, 이 때에 제2 조도 센서로부터 수신된 센싱 데이터에 기초하여 TV(31)의 전원이 온 되는 동작 상황에 대응되는 제2 조도 센서의 기준 센싱 데이터를 생성하여 저장부(120)에 추가할 수 있다.
이와 같이 본 개시에 따르면, 새로운 동작 상황 발생 또는 새로운 센서 추가에 따라, 해당 기준 센싱 데이터가 자동으로 룩업 테이블에 추가될 수 있으므로, 홈 네트워크의 환경이 변화할 때마다 에러 검출 관련 데이터 베이스를 직접 수정하는 작업이 요구되지 않는다.
한편, 기준 센싱 데이터에는 센싱 값뿐만 아니라, 해당 동작 상황이 발생한 전후에 해당 동작 상황에 대응하는 센싱 값이 검출될 때까지 걸린 시간에 대한 정보도 저장되어 있을 수 있다. 또는, 기준 센싱 데이터에는 상기와 같은 시간 정보만 포함되어 있을 수도 있다. 이에 대해선 도 4를 참고하여 설명하도록 한다.
도 4를 참고하면, 에어컨(41)의 냉방이 가동되었고, 에어컨(41)은 냉방이 가동되었음을 알리는 상태 정보를 서버(100)로 전송한다. 상태 정보에는 냉방 온도에 대한 정보도 포함되어 있을 수 있다. 프로세서(130)는 에어컨(41)으로부터 수신된 상태 정보에 기초하여 에어컨(41)의 냉방이 가동되었다는 동작 상황을 판단할 수 있고, 프로세서(130)는 판단된 동작 상황에 대응되는 시점에 전력 측정 센서(44) 및 온도 센서들(42, 43)로부터 수신된 센싱 데이터를 분석한다. 특히, 프로세서(130)는 냉방 가동 시점으로부터 온도 센서들(42, 43)에서 온도 변화가 감지될 때까지 걸린 시간을 계산할 수 있다.
도 4에 도시한 것처럼 제1 온도 센서(42)의 경우 온도 변화 감지까지 10분이 소요되었고, 제2 온도 센서(43)의 경우 1분이 소요되었다. 그리고 프로세서(130)는 이러한 시간 정보를 '에어컨 냉방 가동'이라는 동작 상황에 대응하는 제1 온도 센서(42)의 기준 센싱 데이터와 제2 온도 센서(43)의 기준 센싱 데이터로 각각 저장부(120)에 저장할 수 있다.
이와 같이 기준 센싱 데이터들이 저장된 이후, 프로세서(130)는 에어컨(41)으로부터 수신된 상태 정보에 기초하였을 때, 에어컨(41)의 냉방이 가동되는 동작 상황이 다시 판단되면, 프로세서(130)는 온도 센서들(42, 43) 및 전력 측정 센서(44)에서 수신된 센싱 데이터를 상기와 같이 저장된 기준 센싱 데이터들과 비교한다.
구체적으로, 프로세서(130)는 제1 온도 센서(42)로부터 수신된 센싱 데이터를 분석하여, 냉방 가동 시점으로부터 10분을 기준으로 기 설정된 허용 범위 내에 온도 변화가 감지되었는지를 판단한다. 그리고 프로세서(130)는 제2 온도 센서(43)로부터 수신된 센싱 데이터를 분석하여, 냉방 가동 시점으로부터 1분을 기준으로 기 설정된 허용 범위 내에 온도 변화가 감지되었는지를 판단한다. 그리고 프로세서(130)는 전력 측정 센서(44)로부터 수신된 센싱 데이터를 전력 센서(44)의 기준 센싱 데이터와 비교한다.
예컨대, 제1 온도 센서(42)로부터 수신된 센싱 데이터를 분석하였을 때, 냉방 가동 시점으로부터 10분을 기준으로 한 기설정된 허용 범위(ex. 9 내지 11분) 내에서 온도 변화가 감지되지 않은 경우, 프로세서(130)는 제1 온도 센서(42)로부터 수신된 센싱 데이터가 제1 온도 센서(42)의 기 설정된 허용 범위를 벗어난 것으로 판단할 수 있다. 그리고 프로세서(130)는 나머지 제2 온도 센서(42)와 전력 측정 센서(44)로부터 수신된 센싱 데이터는 기준 센싱 데이터들의 기 설정된 허용 범위 이내인 것으로 판단하면, 제1 온도 센서(42)에만 에러가 생겼다고 판단할 수 있다.
한편, 도 3과 도 4에선 한 대의 전자 장치와 관련된 동작 상황에 대해 설명하였으나, 프로세서(130)는 홈 네트워크에 포함된 모든 전자 장치들의 동작 상황을 판단하고, 판단된 동작 상황에 대응되는 기준 센싱 데이터에 기초하여 장치의 에러 여부를 판단할 수 있다. 예컨대, TV의 전원이 온되고, 동시에 에어컨이 냉방을 가동되는 동작 상황과 같이 여러 대의 전자 장치가 연관되는 복합 동작 상황에 대해서도 저장부(120)에는 기준 센싱 데이터가 저장되어 있을 수 있다. 따라서, 프로세서(130)는 여러 대의 전자 장치가 관련된 복합 동작 상황에서도 정확하게 에러 검출을 할 수 있다. 이에 대해선 도 5를 참고하여 설명하도록 한다.
도 5를 참고하면, 에어컨(51)의 냉방이 가동되었고, 조리 장치(52)에서 조리물을 가열되고 있다. 에어컨(51)과 조리 장치(52)는 상태 정보를 서버(100)로 전송하고, 프로세서(130)는 에어컨(51)으로부터 수신된 상태 정보와 조리 장치(52)로부터 수신된 상태 정보에 기초하여 에어컨(51)의 냉방이 가동되었고 동시에 조리 장치(52)에서 조리물이 가열되고 있다는 복합 동작 상황을 판단할 수 있다. 프로세서(130)는 판단된 복합 동작 상황에 대응되는 시점에 온도 센서(53)로부터 수신된 센싱 데이터와, 해당 복합 동작 상황에 대응되는 온도 센서(53)의 기준 센싱 데이터를 비교한다.
이러한 복합 동작 상황에 대응하는 기준 센싱 데이터는, 에어컨(51)의 냉방이 가동된 동작 상황에 대응되는 온도 센서(53)의 제1 기준 센싱 데이터와 조리 장치(52)에서 조리물이 가열되고 있는 동작 상황에 대응되는 온도 센서(53)의 제2 기준 센싱 데이터가 조합되어 생성된 데이터일 수 있다. 또는, 이러한 복합 동작 상황이 발생하였을 때 온도 센서(53)에서 수신된 센싱 데이터가 상기 제1 기준 센싱 데이터와 상기 제2 기준 센싱 데이터와는 다른 별개의 기준 센싱 데이터로 저장부(120)에 저장될 수 있다.
프로세서(130)는 이와 같이 복합적인 동작 상황을 고려하여 에러 여부를 판단할 수 있으므로, 예컨대 에어컨(51)이 18도 냉방이 가동되는 상황에서 온도 센서(53)에서 18도 냉방을 기준으로 기 설정된 허용 가능한 범위보다 높은 온도에 대응하는 센싱 값이 출력되거나, 온도 변화 상태가 감지될 때까지 걸린 시간이 증가하더라도 이것은 조리 장치(53)에서의 가열 때문이므로, 온도 센서(53)에 에러가 있다고 판단되는 오류를 막을 수 있다.
도 5와 같은 상황에선 온도 값만으로 온도 센서의 에러를 판단하긴 어려울 수 있다. 이는, 온도 값이 기기의 상황뿐만 아니라 날씨 등의 영향을 받을 수 있기 때문이다. 따라서, 상술한 바와 같이 온도의 증감까지 분석하게 되면 에러 여부 검출이 가능하게 된다.
도 6은 룩업 테이블 형태로 저장된 동작 상황별 기준 센싱 데이터를 설명하기 위한 도면이다.
도 6을 참고하면, 홈 네트워크에 포함된 전자 장치들의 동작 상황별로 홈 네트워크에 포함된 센서들의 기준 센싱 데이터가 저장부(120)에 룩업 테이블 형태로 저장되어 있을 수 있다. A 동작 상황에 대응되는 제1 센서의 기준 센싱 데이터(xx), A 동작 상황에 대응되는 제2 센서의 기준 센싱 데이터(xxx), A 동작 상황에 대응되는 제3 센서의 기준 센싱 데이터(xxxx)가 룩업 테이블에 포함될 수 있다. 그리고 B 동작 상황에 대응되는 제1 센서의 기준 센싱 데이터(x), B 동작 상황에 대응되는 제2 센서의 기준 센싱 데이터(-), B 동작 상황에 대응되는 제3 센서의 기준 센싱 데이터(xx)가 룩업 테이블에 포함될 수 있다.
예컨대, A 동작 상황은 도 1에서 TV(13)가 전원이 온된 상황에 대응되는 것이고, A 동작 상황에 대응되는 제1 센서의 기준 센싱 데이터(xx)는 TV(13)의 전원이 온 되었을 때 제1 온도/조도 센서(11)의 기준 센싱 데이터이고, A 동작 상황에 대응되는 제2 센서의 기준 센싱 데이터(xxx)는 TV(13)의 전원이 온 되었을 때 조도 센서(14)의 기준 센싱 데이터이고, A 동작 상황에 대응되는 제3 센서의 기준 센싱 데이터(xxxx)는 TV(13)의 전원이 온 되었을 때 제2 온도/조도 센서(17)의 기준 센싱 데이터일 수 있다.
그리고 예컨대, B 동작 상황은 도 1에서 TV(13)가 절전 모드이고, 동시에, 에어컨(16)의 냉방이 가동되는 상황에 대응되는 것이고, B 동작 상황에 대응되는 제1 센서의 기준 센싱 데이터(xx)는 TV(13)가 절전 모드이고 동시에, 에어컨(16)의 냉방이 가동될 때 제1 온도/조도 센서(11)의 기준 센싱 데이터이고, B 동작 상황에 대응되는 제2 센서의 기준 센싱 데이터(-)는 TV(13)가 절전 모드이고 동시에, 에어컨(16)의 냉방이 가동될 때 조도 센서(14)의 기준 센싱 데이터이고, B 동작 상황에 대응되는 제3 센서의 기준 센싱 데이터(xx)는 TV(13)가 절전 모드이고 동시에, 에어컨(16)의 냉방이 가동될 때 제2 온도/조도 센서(17)의 기준 센싱 데이터일 수 있다.
이와 같이 동작 상황별로 저장부(120)에 저장된 복수의 센서의 기준 센싱 데이터는 홈 네트워크에 포함된 모든 센서들의 센싱 데이터를 포함할 수 있다. 또는, 저장부(120)에 저장되는 기준 센싱 데이터는, 홈 네트워크에 포함된 센서들 중에서 동작 상황에 연관된 센서들만의 센싱 데이터로 구성될 수도 있다. 동작 상황에 연관된 센서는 동작 상황이 발생하였을 때 이에 대응하여 변화된 센싱 값을 출력하는 센서들로 선택될 수 있다. 예컨대, 프로세서(130)는 도 1에서 에어컨(16)의 냉방이 가동되는 동작 상황에 전력 측정 센서(18) 및 온도 센서들(12, 17)에서 수신된 센싱 데이터를 분석하였을 때 냉방이 가동되는 동작 상황에 대응하는 시점에 센싱 값 변화가 보인 것으로 판단되면, 에어컨(16)의 냉방이 가동되는 동작 상황에 연관된 센서로서, 전력 측정 센서(18) 및 온도 센서들(12, 17)을 선택할 수 있다. 그리고 프로세서(130)는 에어컨(16)의 냉방이 가동되는 동작 상황에 온도 센서(11)에서 센싱 값의 변화가 보이지 않는다면, 온도 센서(11)는 냉방이 가동되는 동작 상황에 연관되어 있지 않다고 판단할 수 있다.
다시 말해, 프로세서(130)는 복수의 센서로부터 각각 수신된 복수의 센싱 데이터 중 판단된 동작 상황과 대응되는 시점에 센싱 값의 변화를 보이는 센싱 데이터를 상기 판단된 동작 상황에 대응하는 기준 센싱 데이터로 저장부(120)에 저장할 수 있다.
이처럼 동작 상황별로 연관된 센서를 지정해두면, 특정 동작 상황 발생 시, 그 동작 상황에 연관된 센서들만 선택하여 기준 센싱 데이터와 비교하는 작업을 수행하면 되므로, 데이터 처리에 소모되는 비용을 줄일 수 있다.
한편, 이상에서는 TV, 에어컨과 같은 제품이 구성하는 동작 상황에서 에러를 판단하는 경우에 대해 설명하였으나, 센서들에 의해서도 특정한 동작 상황이 구성될 수 있다.
구체적으로, 프로세서(130)는 복수의 센서에서 수신되는 센싱 데이터에 기초하여 동작 상황을 판단할 수 있고, 상기 수신된 센싱 데이터를 판단된 동작 상황에 대응되는 기준 센싱 데이터로 저장부(120)에 저장할 수 있다. 그리고 프로세서(130)는 동일한 동작 상황이 재발생한 것으로 판단되면, 해당 동작 상황과 대응되는 시점에 상기 복수의 센서에서 수신된 센싱 데이터들과 기 저장된 기준 센싱 데이터들을 비교하여, 상기 복수의 센서의 에러 여부를 판단할 수 있다. 본 실시 예에 관련한 구체적인 예시는 도 7을 참고하여 설명하도록 한다.
도 7은 센서들에 의해 구성된 동작 상황에서 센서의 결함을 판단하는 방법을 설명하기 위한 도면이다.
도 7을 참고하면, 현관문의 여닫힘을 감지하는 센서 A(73)가 현관문에 배치되어 있고, 모션을 감지하는 센서 B(72)가 현관문쪽 집안에 배치되어 있고, 재실을 감지하는 센서 C(71)가 집 안에 배치되어 있다. 센서 C(71)에서 존재(presence)가 감지되는 상황은 '집 안에 누군가 들어온 상황'에 해당된다. 이러한 상황에선 센서 A(73)에서 현관문의 여닫힘이 감지되고 센서 B(72)에서 모션이 감지된다. 따라서, 센서 C(71)에서 존재(presence)가 감지되는 상황에 대응하는 시점에 센서 B(72)와 센서 A(73) 각각에서 생성된 센싱 데이터는 센서 C(71)에서 존재(presence)가 감지되는 상황에 대응하는 기준 센싱 데이터들로서 저장부(120)에 저장될 수 있다.
프로세서(130)는 이러한 기준 센싱 데이터들에 기초하여, 복수의 센서들 중에서 어떤 센서에 결함이 발생하였는지 판단할 수 있다. 프로세서(130)는 센서 C(71)에서 존재가 감지되면, '집안에 누군가 들어온 상황'이 발생하였음을 판단할 수 있고, 판단된 상황에 대응하는 시점에 B 센서(72)와 A 센서(73)에서 각각 수신된 센싱 데이터를 B 센서(72)의 기준 센싱 데이터와 A 센서(73)의 기준 센싱 데이터와 비교하여, 수신된 센싱 데이터들이 기준 센싱 데이터들의 허용 범위 내에 있는지 판단한다. 판단 결과, 센서 A에서 수신된 데이터는 센서 A의 기준 센싱 데이터의 기 설정된 허용 범위 내에 있는데, 센서 B에서 수신된 데이터는 센서 B의 기준 센싱 데이터의 기 설정된 허용 범위 밖에 있는 것으로 판단되면, 센서 B에 에러가 있는 것으로 판단할 수 있다. 다시 말해, 사람이 집 안에 들어오면서 센서 A에서 현관 여닫힘이 감지되고 센서 C에서 재실이 감지되었는데, 센서 B에선 모션이 감지되지 않은 것이므로 이는 센서 B에 에러가 있음을 의미한다.
이하에선, 기준 센싱 데이터와 수신된 센싱 데이터를 비교한 결과에 기초하여 에러가 발생한 기기가 어떤 것인지를 판단하는 방법에 관하여 구체적으로 설명하도록 한다.
프로세서(130)는 홈 네트워크 내에 포함된 적어도 하나의 전자 장치의 동작 상태를 판단하고, 복수의 센서로부터 수신된 센싱 데이터 각각이 상기 판단된 동작 상황에 대응되는 복수의 센서별 기준 센싱 데이터의 기설정된 허용 범위 내인지를 판단하고, 상기 판단에 기초하여 상기 복수의 센서 및 상기 적어도 하나의 전자 장치의 에러 여부를 판단할 수 있다.
이 경우, 프로세서(130)는 상기 복수의 센서 중 상기 기설정된 허용 범위를 벗어나는 센서가 기설정된 비율 이상이면 상기 판단된 동작 상황과 관련하여 상기 적어도 하나의 전자 장치가 에러 상태인 것으로 판단할 수 있다. 그리고, 프로세서(130)는 상기 복수의 센서 중 상기 기설정된 허용 범위를 벗어나는 센서가 상기 기설정된 비율 미만이면, 상기 기설정된 허용 범위를 벗어나는 센서가 에러 상태인 것으로 판단할 수 있다. 본 실시 예를 도 4를 다시 참고하여 설명하도록 한다.
도 4를 참고하면, 프로세서(130)가 에어컨(41)의 냉방이 가동되는 동작 상황을 판단하면, 판단된 동작 상황에 연관된 센서들, 즉 제1 온도 센서(42), 제2 온도 센서(43) 및 전력 센서(44) 이 3개의 센서로부터 수신된 센싱 데이터를, 상기 3개의 센서들 각각의 에어컨(41)의 냉방이 가동되는 동작 상황에 대응하는 기준 센싱 데이터들과 센서별로 비교한다.
그리고 프로세서(130)는 상기 3개의 센서로부터 수신된 센싱 데이터들 각각이 상기 3개의 기준 센싱 데이터들 각각의 기 설정된 허용 범위 내인지를 판단하고, 상기 기 설정된 허용 범위를 벗어나는 센서의 비율이 기 설정된 비율 미만인지  판단한다. 그 비율이 2/3로 설정되어 있는 경우라면, 상기 3개의 센서 중에 하나의 센서의 센싱 데이터가 기준 센싱 데이터의 허용 범위를 벗어나면, 프로세서(130)는 그 센서에 에러가 있는 것으로 판단한다. 그리고 프로세서(130)는 상기 3개의 센서 중에 두 개 이상의 센서의 센싱 데이터가 기준 센싱 데이터의 허용 범위를 벗어나는 것으로 판단되면 프로세서(130)는 에어컨(31)의 냉방 기능에 에러가 있는 것으로 판단할 수 있다.
한편, 상기 비교 동작의 기준이 되는 기 설정된 허용 범위는 기 설정된 오차 범위를 의미할 수 있다. 그리고 상기 비교 동작의 기준이 되는 기 설정된 비율은, 비교 대상이 되는 센싱 데이터의 총 개수가 몇 개인지에 따라 결정될 수 있다. 예컨대, 비교 대상이 되는 센싱 데이터의 총 갯수가 5개라면, 그 비율은 3/5로 결정될 수 있고, 비교 대상이 되는 센싱 데이터의 총 갯수가 2개라면, 그 비율은 2/2로 결정될 수 있다. 또는, 불일치도 정보에 기초하여 점수를 비교할 수 있도록 기 설정된 비율을 결정할 수 있다. 예컨대, 비교 대상이 되는 센싱 데이터가 총 2개더라도 그 비율을 1.5/2로 설정할 수도 있다.
한편, 상기 실시 예에선 프로세서(130)가 복수의 센서 중 상기 기설정된 허용 범위를 벗어나는 센서가 기설정된 비율 미만이면, 상기 기설정된 허용 범위를 벗어나는 센서를 바로 에러 상태에 있다고 판단하는 것으로 설명하였으나, 또 다른 실시 예에 따르면, 바로 에러 상태에 있다고 판단하기보단, 그 센서에 대해서 에러 판단 과정을 다시 수행할 수도 있다. 이에 대해선 도 10을 참고하여 설명하도록 한다.
도 10은 본 개시의 일 실시 예에 따른 에러 판단 과정을 설명하기 위한 도면이다.
도 10을 참고하면, 프로세서(130)가 제1 전구(1005)가 켜진 동작 상황을 판단하면, 판단된 동작 상황에 연관된 센서들, 즉 제1 조도 센서(1007), 제2 조도 센서(1030), 제3 조도 센서(1040) 이 3 개의 센서로부터 수신된 센싱 데이터를, 상기 3개의 센서들 각각의 제1 전구(1005)가 켜진 동작 상황에 대응하는 기준 센싱 데이터들과 센서별로 비교한다.
그리고 프로세서(130)는 상기 3개의 센서로부터 수신된 센싱 데이터들 각각이 상기 3개의 기준 센싱 데이터들 각각의 기 설정된 허용 범위 내인지를 판단하고, 상기 기 설정된 허용 범위를 벗어나는 센서의 비율이 기 설정된 비율 미만인지 판단한다. 그 비율이 2/3로 설정되어 있는 경우라면, 상기 3개의 센서 중에 제3 조도 센서(1040)의 센서의 센싱 데이터가 기준 센싱 데이터의 허용 범위를 벗어나면, 프로세서(130)는 제3 조도 센서(1040)에 에러 가능성이 있는 것으로 판단한다.
그리고 프로세서(130)는 에러 가능성이 있는 것으로 판단된 제3 조도 센서(1040)에 대해서 에러 판단 과정을 다시 수행한다.
구체적으로, 다른 시점에 프로세서(130)가 제2 전구(1060)가 켜진 동작 상황을 판단하면, 판단된 동작 상황에 연관된 센서들, 즉 제3 조도 센서(1040) 및 제4 조도 센서(1050) 이 2 개의 센서로부터 수신된 센싱 데이터를, 상기 2 개의 센서들 각각의 제2 전구(1060)가 켜진 동작 상황에 대응하는 기준 센싱 데이터들과 센서별로 비교한다. 그리고 프로세서(130)는 상기 2개의 센서로부터 수신된 센싱 데이터들 각각이 상기 2개의 기준 센싱 데이터들 각각의 기 설정된 허용 범위 내인지를 판단하여 기 설정된 허용 범위 내에 있으면, 앞서 에러 가능성이 있다고 판단한 제3 조도 센서(1040)는 에러 상태가 아닌 것으로 최종 판단한다.
도 10을 참고하여 상술한 실시 예에 따르면, 제1 전구(1005)가 켜졌음에도 제3 조도 센서(1040)가 있는 방의 문이 닫혀 있어서 제3 조도 센서(1040)에서 제1 전구(1005)의 켜짐을 센싱을 하지 못하는 경우와 같은 상황에서, 제3 조도 센서(1040)에 에러가 있다고 섣불리 판단하게 되는 문제를 막을 수 있다. 즉, 이와 같이 여러 번의 에러 판단 과정을 거침에 따라 더 정확하게 센서의 에러 상태를 판단할 수 있게 된다.
도 8은 본 개시의 일 실시 예에 따른 서버(100)의 에러 검출 방법을 설명하기 위한 흐름도이다.
도 8을 참고하면 먼저, 서버(100)의 저장부(120)에는 클라이언트 기기들(또는 IoT 디바이스들)의 정보(810)가 저장되어 있다. 클라이언트 기기는 센서와 액츄에이터로 구분될 수 있다. 센서는 온도, 습도, 모션, 재실, 전력 소비 등을 감지하기 위한 장치이고, 액츄에이터는 특정 기능을 수행하여 상기 센서에서 감지될 수 있는 환경 변화를 일으키는 장치로서, TV, 에어컨, 조리 장치 등을 의미한다.
클라이언트 기기들의 정보(810)는 센서가 측정할 수 있는 대상에 대한 정보와 액츄에이터를 제어하기 위한 제어 명령 리스트를 포함한다.
서버(100)에서 클라이언트 기기들(IoT 디바이스들)의 동작 수행(액션 수행)상황이 판단되면(S820), 서버(100)는 판단된 동작 상황에 대한 정보(또는 액션 수행 정보)와 해당 동작 상황 동안 센서의 센싱 데이터(또는 센서 정보)를 저장부(120)에 기록한다(S830). 서버(100)는 상기 기록된 정보를 분석하여, 해당 동작 상황 동안(액션 수행 동안) 센서에서 생성된 센싱 데이터의 속성(attribute)에 대한 정보를 추출한다(S840).
센싱 데이터의 속성은 액션 수행에 대응한 센서의 센싱 값 및/또는 액션 수행 이후로부터 상기 센싱 값이 측정되기까지 걸린 시간을 포함할 수 있다. 예를 들어, 도 4를 참고하여 설명하면, 에어컨(41)의 냉방이 가동되는 동작 상황에 대응한 온도 센서들(42, 43)의 센싱 값(온도 값)들과, 온도 센서들(42, 43)에서 온도 변화가 감지되기까지 걸린 시간(10분, 1분)에 대한 정보가 추출될 수 있다. 또 다른 예로, 도 7을 참고하면, 재실 센서(71)에서 재실이 감지되는 동작 상황에 대응되는 시점에 모션 센서(72) 및 현관문 여닫힘 감지 센서(73)의 센싱 값이 추출될 수 있고, 재실 센서(71)에서 재실이 감지되기 전후에 모션 센서(72)와 현관문 여닫힘 감지 센서(73)에서 모션이 감지되거나 현관문 여닫힘이 감지될 때까지 걸린 시간에 대한 정보가 추출될 수 있다.
그리고 서버(100)는 동작 상황에 대응하여 복수의 센서에서 생성된 센싱 데이터의 속성의 변화에 대한 관계 그래프를 생성한다(S850). 예를 들어, 도 4를 참고하면 서버(100)는 에어컨(41)의 냉방이 가동되었을 때, 복수의 온도 센서(42, 43) 각각에서 생성된 복수의 센싱 데이터의 속성들 간의 관계를 정의하는 그래프를 생성한다. 또 다른 예로, 도 7을 참고하면, 서버(100)는 재실 센서(71)에서 재실이 감지되었을 때 모션 센서(72)와 현관문 여닫힘 감지 센서(73)에서 생성된 센싱 데이터의 속성들 간의 관계를 정의하는 그래프를 생성한다.
그리고 서버(100)는, 상기 생성된 관계 그래프(870)를 저장부(120)에 저장한다. 그리고 서버(100)는 해당 동작 상황(또는 액션)과 연관된 센서들에 대한 정보(880)를 저장부(120)에 저장한다. 예컨대 도 7을 참고하면, 서버(100)는 모션 센서(72)와 현관문 여닫힘 감지 센서(73)에 대한 정보를 재실이 감지되는 액션과 연관시켜 저장한다.
이와 같이 저장된 정보들은 추후 동일한 동작 상황이 판단되었을 때 에러 감지를 위해 사용된다. 상기와 같은 정보들을 구축하는 것은 오프라인에서 수행될 수 있다.
이하에선 에러 감지 동작에 대해 설명하도록 한다. 에러 감지 동작은 온라인에서 수행될 수 있다.
먼저, 서버(100)에서 클라이언트 기기들(IoT 디바이스들)의 동작 수행(액션 수행)상황이 판단되면(S820), 그 동작 상황에 연관된 액추에이터에 결함(또는 에러)이 있는지 판단하는 동작을 수행한다(S880). 예컨대, 서버(100)는 에어컨의 냉방이 가동되는 동작 상황이 판단되면, 에어컨에 결함이 있는지 판단한다. 또는 서버(100)는 판단된 동작 상황에 액추에이터가 아닌 센서가 연관된 경우, 센서에 결함이 있는지 판단하는 동작을 수행할 수 있다(S885). 센서에 결함이 있는지 여부는, 동작 상황이 판단될 때마다 수행되는 대신, 주기적으로 수행될 수 있다.
먼저, 서버(100)는 동작 상황에 연관된 기기를 추출한다(S890). 그리고 서버(100)는 연관 기기 각각의 결함 여부를 판단한다(S891). 구체적으로, 서버(100)는 해당 동작 상황에 연관된 센서에서 수신되는 센싱 데이터(S830)의 속성의 변화를 기 저장된 연관 관계 그래프(870)와 비교한다.
서버(100)는 비교된 센싱 데이터들 간의 불일치도 정보에 기초하여 점수를 매김으로써(S892), 해당 동작 상황에 연관된 기기의 결함 여부를 판단한다(S893). 판단 결과, 결함이 있는 경우, 사용자 단말 장치로 결함에 대한 정보를 알린다(S894).
서버(100)는 에러가 있는 것으로 판단된 기기에 대한 정보를 사용자 단말 장치로 전송할 수 있다. 이 경우, 서버(100)는 에러가 있는 것으로 판단된 횟수가 기 설정된 횟수를 초과하는 경우에만 사용자 단말 장치로 통지할 수 있다.
한편, 서버(100)는 에러가 있는 기기에 대한 정보뿐만 아니라, 판단된 동작 상황에 대한 정보도 사용자 단말 장치에 전송할 수 있다. 즉, 예컨대, 도 4를 참고하면, 서버(100)는 에어컨(41)의 냉방이 가동되는 동작 상황이 발생하였다는 정보와 함께, 제1 온도 센서(42)에 에러가 생겼음을 알리는 정보를 사용자 단말 장치로 전송할 수 있다.
도 9는 본 개시의 일 실시 예에 따른 서버의 제어방법을 설명하기 위한 흐름도이다.
도 9를 참고하면 먼저, 서버(100)는 홈 네트워크 내의 적어도 하나의 전자 장치의 동작 상황 및 복수의 센서별 기준 센싱 데이터를 저장한다(S910).
이 경우, 동작 상황별로 복수의 센서 각각의 기준 센싱 데이터를 룩업 테이블 형태로 저장할 수 있다.
한편, 서버(100)는 상기 적어도 하나의 전자 장치의 동작 상황이 신규 동작 상황인 것으로 판단되면, 상기 신규 동작 상황과 대응되는 시점에 상기 복수의 센서 각각으로부터 수신된 센싱 데이터를 상기 신규 동작 상황에 대응되는 기준 센싱 데이터로 저장할 수 있다.
또는 서버(100)는 복수의 센서 각각으로부터 수신된 센싱 데이터 모두를 기준 센싱 데이터로 저장하는 대신, 판단된 동작 상황에 연관된 센싱 데이터만을 기준 센싱 데이터로 저장할 수 있다.
이 경우, 서버(100)는, 판단된 동작 상황에 대응되는 시점에 센싱 값에 변화를 보인 센싱 데이터가 그 동작 상황에 연관된 센싱 데이터라고 결정할 수 있다. 예컨대, 특정 동작 상황에서 특정 온도 센서로부터 수신된 센싱 데이터에서 온도 변화에 의한 센싱 값 변화가 나타나고, 특정 조도 센서로부터 수신된 센싱 데이터에서 밝기 변화에 의한 센싱 값의 변화가 나타나면, 서버(100)는 그 특정 동작 상황에 상기 특정 온도 센서와 상기 특정 조도 센서에서 수신된 센싱 데이터가 그 특정 동작 상황에 연관된 센싱 데이터라고 결정할 수 있다.
구체적으로, 서버(100)는 홈 네트워크 내의 적어도 하나의 전자 장치의 동작 상황이 신규 동작 상황인 것으로 판단되면, 상기 복수의 센서로부터 각각 수신된 복수의 센싱 데이터 중 상기 신규 동작 상황과 대응되는 시점에 센싱 값의 변화를 보이는 센싱 데이터를 상기 신규 동작 상황에 대응하는 기준 센싱 데이터로 저장할 수 있다.
또한, 서버(100)는 홈 네트워크에 신규 센서가 등록된 이후, 상기 적어도 하나의 전자 장치의 동작 상황이 판단되면, 판단된 동작 상황과 대응되는 시점에 상기 신규 센서로부터 수신된 센싱 데이터를 상기 판단된 동작 상황에 대한 상기 신규 센서의 기준 센싱 데이터로 저장할 수 있다.
그리고 서버(100)는 홈 네트워크 내의 복수의 센서로부터 센싱 데이터를 수신한다(S920). 서버(100)는 지속적으로 복수의 센서로부터 센싱 데이터를 수신하여 저장할 수 있다. 또는, 서버(100)는 기 설정된 주기마다 복수의 센서로부터 센싱 데이터를 수신하여 저장할 수 있다.
그리고 서버(100)는 홈 네트워크 내에 포함된 적어도 하나의 전자 장치의 동작 상황을 판단한다(S930).
이 경우, 서버(100)는 상기 적어도 하나의 전자 장치로부터 수신된 상태 정보에 기초하여 동작 상황을 판단할 수 있다.
그리고 서버(100)는 상기 판단된 동작 상황에 대응되는 상기 저장된 기준 센싱 데이터와 상기 수신된 센싱 데이터를 비교한다(S940).
이 경우, 서버(100)는 상기 판단된 동작 상황에 대응되는, 상기 복수의 센서 별로 저장된 복수의 센싱 데이터를 상기 복수의 센서로부터 수신된 복수의 센싱 데이터와 센서별로 비교하여 복수의 센서 및 상기 적어도 하나의 전자 장치의 에러 여부를 판단한다(S950).
구체적으로, 서버(100)는 상기 복수의 센서로부터 수신된 센싱 데이터 각각이 상기 판단된 동작 상황에 대응되는 복수의 센서별 기준 센싱 데이터의 기설정된 허용 범위 내인지를 판단하고, 상기 판단에 기초하여 상기 복수의 센서 및 상기 적어도 하나의 전자 장치의 에러 여부를 판단할 수 있다.
이 경우, 기준 센싱 데이터와 수신된 센싱 데이터의 차이를 계산하고, 계산된 차이가 기 설정된 오차 범위 이내인 경우, 수신된 센싱 데이터가 기준 센싱 데이터의 상기 기 설정된 허용 범위 내인 것으로 판단할 수 있다.
서버(100)는 상기 복수의 센서 중 상기 기설정된 허용 범위를 벗어나는 센서가 기설정된 비율 이상이면 상기 판단된 동작 상황과 관련하여 상기 적어도 하나의 전자 장치가 에러 상태인 것으로 판단하고, 상기 복수의 센서 중 상기 기설정된 허용 범위를 벗어나는 센서가 상기 기설정된 비율 미만이면, 상기 기설정된 허용 범위를 벗어나는 센서가 에러 상태인 것으로 판단할 수 있다.
이 경우, 비교 대상이 되는 센서의 개수에 따라 상기 비율은 설정될 수 있다. 예컨대, 비교 대상이 되는 센서의 개수가 3인 경우, 상기 비율은 2/3으로 설정될 수 있고, 비교 대상이 되는 센서의 개수가 4인 경우, 상기 비율은 3/4로 설정될 수 있다. 비교 대상이 되는 센서의 개수가 5인 경우, 상기 비율은 3/5로 설정될 수 있다. 또는, 각 기기의 기준 점수들로부터 얻은 값을 비율로 사용할 수도 있다. 예컨대, 비교 대상이 되는 센서의 개수가 3개이고 각각의 기준 점수가 0.8, 0.5, 0.2로 주어지는 경우에는 1.5/3이 비율로 설정될 수 있다. 다만, 본 개시가 상기 제시한 비율에 한정되는 것은 아니다.
한편, 서버(100)는 상기 적어도 하나의 전자 장치 및 복수의 센서 중 에러가 있는 것으로 판단된 기기에 대한 정보를 사용자 단말 장치로 전송할 수 있다.
사용자 단말 장치는 디스플레이를 구비한 장치일 수 있고, 사용자 단말 장치의 디스플레이에선 서버(100)로부터 수신된 정보에 따라, 에러가 있는 기기의 이름, 에러가 있는 기기의 종류, 에러가 있는 기기가 홈 네트워크에 최초 등록된 날짜 등과 같은 그 기기의 정보가 표시될 수 있다.
또한, 서버(100)는 상기 적어도 하나의 전자 장치 및 복수의 센서 중 에러가 있는 것으로 판단된 기기에 대한 정보뿐만 아니라, 상기 판단된 동작 상황에 대한 정보도 사용자 단말 장치로 전송할 수 있다.
집안 내에 다양한 종류의 기기가 존재하는 환경에서 사용자는 기기 정보만 가지고 에러가 있는 기기가 어느 곳에 배치되어 있는지 파악하기 어려울 수 있다. 그러나 본 실시 예에 따르면, 사용자는 에러가 판단된 동작 상황도 고려하여 에러가 발생된 기기를 좀 더 용이하게 찾을 수 있다. 예컨대, 서버(100)는 '에어컨의 냉방이 가동되는 상황에서 온도 센서 A에서 에러가 발생한 것을 감지하였습니다.'와 같은 메시지를 사용자 단말에 전송할 수 있고, 사용자 단말 장치는 수신한 메시지를 표시할 수 있다. 이러한 메시지에 기초하여 사용자는 에어컨이 존재하는 안방에 있는 온도 센서들을 먼저 확인하여 에러가 있는 온도 센서 A를 찾을 수 있다.
상술한 다양한 실시 예에 따르면, 여러 대의 디바이스가 존재하는 IoT 환경에서 디바이스들의 유지 보수를 좀 더 용이하게 할 수 있다. 특히 상술한 다양한 실시 예에 따르면, 센서와 같이 사용자가 고장 여부를 확인하기 어려운 기기들의 고장 여부를 사용자가 용이하게 파악할 수 있으며, 또한, 사용자가 고장 여부를 인지하기 어려운 전자 장치의 기능, 예컨대 에너지 절약 모드 기능 등도 사용자가 용이하게 파악할 수 있다. 무엇보다도, 에러 발생 여부 감지를 위해 필요한 데이터 베이스는 기기를 사용하는 과정에서 자동적으로 구축될 수 있으므로, 별도로 이러한 데이터 베이스를 제작하는데 노력, 시간이 소요되지 않는다는 장점이 있으며, 또한, 본 개시에 따르면 사용자가 자유롭게 기기들을 배치하고, 자유롭게 기기들에 기능을 부여할 수 있는 비 정형화된 IoT 환경에서도, 환경마다 적합한 에러 검출을 위한 데이터 베이스가 구축될 수 있다.
한편 본 개시의 실시예에 따른 서버의 프로세서(130)는 학습 알고리즘을 이용하여 복수의 센서 및 전자 장치의 에러 여부를 판단하고, 판단 결과에 대한 정보를 사용자에게 제공할 수 있다.
도 11 내지 도 13은 본 개시의 일 실시예에 따른 서버의 프로세서에서 생성되는 데이터 학습부 및 데이터 인식부를 도시한다.
도 11을 참조하면, 일부 실시예에 따른 프로세서(130)는 데이터 학습부(1010) 및 데이터 인식부(1020)를 포함할 수 있다.
데이터 학습부(1010)는 데이터 인식 모델이 복수의 센서 및 전자 장치의 에러 여부 판단을 위한 기준을 갖도록 생성 또는 학습시킬 수 있다. 데이터 학습부(1010)는 소정의 상황을 판단하기 위하여, 학습 데이터를 데이터 인식 모델에 적용하여, 판단 기준을 갖는 데이터 인식 모델을 생성할 수 있다.
일 예로, 본 개시의 일 실시예에 따른, 데이터 학습부(1010)는 복수의 센서 및 전자 장치의 상태 정보를 학습 데이터로 이용하여 데이터 인식 모델을 생성 또는 학습시킬 수 있다.
데이터 인식부(1020)는 인식 데이터에 기초하여 상황을 판단할 수 있다. 데이터 인식부(1020)는 학습된 데이터 인식 모델을 이용하여, 소정의 인식 데이터로부터 클라이언트 기기들의 결함 여부를 판단할 수 있다. 데이터 인식부(1020)는 기 설정된 기준에 따라 소정의 인식 데이터를 획득하고, 획득된 인식 데이터를 입력 값으로 데이터 인식 모델에 적용함으로써, 소정의 인식 데이터에 기초한 복수의 센서 및 전자 장치의 에러 여부를 판단할 수 있다(또는, 추정(estimate)할 수 있다).
또한, 획득된 인식 데이터를 입력 값으로 데이터 인식 모델에 적용하여 출력된 결과 값은, 데이터 인식 모델을 갱신하는데 이용될 수 있다.
특히, 본 개시의 일 실시예에 따른, 데이터 인식부(1020)는 클라이언트 기기들의 상태 정보를 입력 값으로 데이터 인식 모델에 적용함으로써 클라이언트 기기들의 결함 여부를 판단한 결과를 획득할 수 있다.
데이터 학습부(1010)의 적어도 일부 및 데이터 인식부(1020)의 적어도 일부는, 소프트웨어 모듈로 구현되거나 적어도 하나의 하드웨어 칩 형태로 제작되어 전자 장치에 탑재될 수 있다. 예를 들어, 데이터 학습부(1010) 및 데이터 인식부(1020) 중 적어도 하나는 인공 지능(AI; artificial intelligence)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 서버에 탑재될 수도 있다. 이 때, 인공 지능을 위한 전용 하드웨어 칩은 확률 연산에 특화된 전용 프로세서로서, 기존의 범용 프로세서보다 병렬처리 성능이 높아 기계 학습과 같은 인공 지능 분야의 연산 작업을 빠르게 처리할 수 있다. 데이터 학습부(1010) 및 데이터 인식부(1020)가 소프트웨어 모듈(또는, 인스트럭션(instruction) 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 이 경우, 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 애플리케이션에 의해 제공될 수 있다. 또는, 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 애플리케이션에 의해 제공될 수 있다.
도 12는 본 개시의 실시예에 따른 데이터 학습부(1010)의 블록도이다.
도 12를 참조하면, 일부 실시예에 따른 데이터 학습부(1010)는 데이터 획득부(1010-1) 및 모델 학습부(1010-4)를 포함할 수 있다. 또한, 데이터 학습부(1010)는 전처리부(1010-2), 학습 데이터 선택부(1010-3) 및 모델 평가부(1010-5) 중 적어도 하나를 선택적으로 더 포함할 수도 있다.
데이터 획득부(1010-1)는 클라이언트 기기들의 결함 판단을 위한 학습을 위해 필요한 학습 데이터를 획득할 수 있다.
학습 데이터는 데이터 학습부(1010) 또는 클라이언트 기기들의 제조사에 의하여 수집 또는 테스트한 데이터가 이용될 수도 있다. 예컨대, 학습 데이터는 본 개시에 따른 센서들의 센싱 데이터 및 전자 장치의 동작 상황에 대한 정보를 포함할 수 있다. 즉, 전자 장치의 동작 상황 정보 및 센싱 데이터를 포함할 수 있다.
모델 학습부(1010-4)는 학습 데이터를 이용하여, 데이터 인식 모델이 클라이언트 기기들의 결함 여부를 어떻게 판단할 지에 관한 판단 기준을 갖도록 학습시킬 수 있다. 예로, 모델 학습부(1010-4)는 학습 데이터 중 적어도 일부를 판단 기준으로 이용하는 지도 학습(supervised learning)을 통하여, 데이터 인식 모델을 학습시킬 수 있다. 또는, 모델 학습부(1010-4)는, 예를 들어, 별다른 지도 없이 학습 데이터를 이용하여 스스로 학습함으로써, 클라이언트 기기들의 고장 여부 판단을 위한 판단 기준을 발견하는 비지도 학습(unsupervised learning)을 통하여, 데이터 인식 모델을 학습시킬 수 있다.
또한, 모델 학습부(1010-4)는 클라이언트 기기들의 결함 여부 판단을 위하여 어떤 학습 데이터를 이용해야 하는 지에 대한 선별 기준을 학습할 수도 있다.
특히, 본 개시의 일 실시예에 따른, 모델 학습부(1010-4)는 전자 장치의 동작 상황 정보 및 복수의 센서의 센싱 데이터를 학습 데이터로 이용하여 데이터 인식 모델을 생성 또는 학습시킬 수 있다.
한편, 데이터 인식 모델은 미리 구축되어, 모델 학습부(1010-4)의 학습에 의하여 업데이트되는 모델일 수 있다. 이 경우, 데이터 인식 모델은 기본 학습 데이터(예를 들어, 전자 장치들의 동작 상황 정보 및 복수의 센서의 센싱 데이터 등)을 입력 받아 미리 구축된 상태일 수 있다.
데이터 인식 모델은, 인식 모델의 적용 분야, 학습의 목적 또는 장치의 컴퓨터 성능 등을 고려하여 구축될 수 있다.  데이터 인식 모델은, 예를 들어, 신경망(Neural Network)을 기반으로 하는 모델일 수 있다. 데이터 인식 모델은 인간의 뇌 구조를 컴퓨터 상에서 모의하도록 설계될 수 있다. 데이터 인식 모델은 인간의 신경망의 뉴런(neuron)을 모의하는, 가중치를 가지는 복수의 네트워크 노드들을 포함할 수 있다. 복수의 네트워크 노드들은 뉴런이 시냅스(synapse)를 통하여 신호를 주고 받는 시냅틱(synaptic) 활동을 모의하도록 각각 연결 관계를 형성할 수 있다. 데이터 인식 모델은, 일 예로, 신경망 모델, 또는 신경망 모델에서 발전한 딥 러닝 모델을 포함할 수 있다. 딥 러닝 모델에서 복수의 네트워크 노드들은 서로 다른 깊이(또는, 레이어)에 위치하면서 컨볼루션(convolution) 연결 관계에 따라 데이터를 주고 받을 수 있다.
예컨대, DNN(Deep Neural Network), RNN(Recurrent Neural Network), BRDNN(Bidirectional Recurrent Deep Neural Network)과 같은 모델이 데이터 인식 모델로서 사용될 수 있으나, 이에 한정되지 않는다.
다양한 실시예에 따르면, 모델 학습부(1010-4)는 미리 구축된 데이터 인식 모델이 복수 개가 존재하는 경우, 입력된 학습 데이터와 기본 학습 데이터의 관련성이 큰 데이터 인식 모델을 학습할 데이터 인식 모델로 결정할 수 있다. 이 경우, 기본 학습 데이터는 데이터의 타입 별로 기 분류되어 있을 수 있으며, 데이터 인식 모델은 데이터의 타입 별로 미리 구축되어 있을 수 있다. 예를 들어, 기본 학습 데이터는 학습 데이터가 생성된 지역, 학습 데이터가 생성된 시간, 학습 데이터의 크기, 학습 데이터의 장르, 학습 데이터의 생성자, 학습 데이터 내의 오브젝트의 종류 등과 같은 다양한 기준으로 기 분류되어 있을 수 있다.
또한, 모델 학습부(1010-4)는, 예를 들어, 오류 역전파법(error back-propagation) 또는 경사 하강법(gradient descent)을 포함하는 학습 알고리즘 등을 이용하여 데이터 인식 모델을 학습시킬 수 있다.
또한, 모델 학습부(1010-4)는, 예를 들어, 판단 기준을 학습을 위한 입력 값으로 이용하는 지도 학습을 통하여, 데이터 인식 모델을 학습시킬 수 있다. 또는, 모델 학습부(1010-4)는, 예를 들어, 별다른 지도 없이 필요한 학습 데이터를 이용하여 스스로 학습함으로써, 상황의 판단을 위한 판단 기준을 발견하는 비지도 학습을 통하여, 데이터 인식 모델을 학습시킬 수 있다. 또한, 모델 학습부(1010-4)는, 예를 들어, 학습에 따른 상황 판단의 결과가 올바른 지에 대한 피드백을 이용하는 강화 학습(reinforcement learning)을 통하여, 데이터 인식 모델을 학습시킬 수 있다.
또한, 데이터 인식 모델이 학습되면, 모델 학습부(1010-4)는 학습된 데이터 인식 모델을 저장할 수 있다. 이 경우, 모델 학습부(1010-4)는 학습된 데이터 인식 모델을 서버(130)의 메모리에 저장할 수 있다.
데이터 학습부(1010)는 데이터 인식 모델의 인식 결과를 향상시키거나, 데이터 인식 모델의 생성에 필요한 자원 또는 시간을 절약하기 위하여, 전처리부(1010-2) 및 학습 데이터 선택부(1010-3)를 더 포함할 수도 있다.
전처리부(1010-2)는 클라이언트 기기들의 결함 여부 판단을 위한 학습에 이용하기 위하여 데이터 획득부(1010-1)에서 획득된 데이터를 전처리할 수 있다.
예로, 전처리부(1010-2)는 모델 학습부(1010-4)가 데이터 인식 모델의 학습을 위한 데이터의 이용이 용이하도록, 획득된 데이터를 기 정의된 포맷으로 가공할 수 있다. 전처리된 데이터는 학습 데이터로서 모델 학습부(1010-4)에게 제공될 수 있다.
또는, 학습 데이터 선택부(1010-3)가 전처리된 데이터 중에서 학습에 필요한 학습 데이터를 선별적으로 선택할 수 있다. 선택된 학습 데이터는 모델 학습부(1010-4)에 제공될 수 있다. 학습 데이터 선택부(1010-3)는 기 설정된 선별 기준에 따라, 전처리된 데이터 중에서 학습에 필요한 학습 데이터를 선별할 수 있다. 또한, 학습 데이터 선택부(1010-3)는 모델 학습부(1010-4)에 의한 학습에 의해 기 설정된 선별 기준에 따라 학습에 필요한 학습 데이터를 선별할 수도 있다. 본 개시의 일 실시예로, 학습 데이터 선택부(1010-3)는 입력된 센싱 데이터 중 특정 클라이언트 기기와 관련된 센싱 데이터만을 선택할 수 있다.
데이터 학습부(1010)는 데이터 인식 모델의 인식 결과를 향상시키기 위하여, 모델 평가부(1010-5)를 더 포함할 수도 있다.
모델 평가부(1010-5)는 데이터 인식 모델에 평가 데이터를 입력하고, 평가 데이터로부터 출력되는 인식 결과가 소정 기준을 만족하지 못하는 경우, 모델 학습부(1010-4)로 하여금 다시 학습하도록 할 수 있다. 이 경우, 평가 데이터는 데이터 인식 모델을 평가하기 위한 기 정의된 데이터일 수 있다.
예를 들어, 모델 평가부(1010-5)는 평가 데이터에 대한 학습된 데이터 인식 모델의 인식 결과 중에서, 인식 결과가 정확하지 않은 평가 데이터의 개수 또는 비율이 미리 설정된 임계치를 초과하는 경우 소정 기준을 만족하지 못한 것으로 평가할 수 있다. 예컨대, 소정 기준이 비율 2%로 정의되는 경우, 학습된 데이터 인식 모델이 총 1000개의 평가 데이터 중의 20개를 초과하는 평가 데이터에 대하여 잘못된 인식 결과를 출력하는 경우, 모델 평가부(1010-5)는 학습된 데이터 인식 모델이 적합하지 않은 것으로 평가할 수 있다.
한편, 학습된 데이터 인식 모델이 복수 개가 존재하는 경우, 모델 평가부(1010-5)는 각각의 학습된 데이터 인식 모델에 대하여 소정 기준을 만족하는지를 평가하고, 소정 기준을 만족하는 모델을 최종 데이터 인식 모델로서 결정할 수 있다. 이 경우, 소정 기준을 만족하는 모델이 복수 개인 경우, 모델 평가부(1010-5)는 평가 점수가 높은 순으로 미리 설정된 어느 하나 또는 소정 개수의 모델을 최종 데이터 인식 모델로서 결정할 수 있다.
전술한, 데이터 획득부(1010-1), 전처리부(1010-2), 학습 데이터 선택부(1010-3), 모델 학습부(1010-4) 및 모델 평가부(1010-5) 중 적어도 하나는, 소프트웨어 모듈로 구현되거나 적어도 하나의 하드웨어 칩 형태로 제작되어 서버에 탑재될 수 있다. 예를 들어, 데이터 획득부(1010-1), 전처리부(1010-2), 학습 데이터 선택부(1010-3), 모델 학습부(1010-4) 및 모델 평가부(1010-5) 중 적어도 하나는 인공 지능(AI; artificial intelligence)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 전술한 서버에 탑재될 수도 있다.
또한, 데이터 획득부(1010-1), 전처리부(1010-2), 학습 데이터 선택부(1010-3), 모델 학습부(1010-4) 및 모델 평가부(1010-5) 중 적어도 하나는 소프트웨어 모듈로 구현될 수 있다. 데이터 획득부(1010-1), 전처리부(1010-2), 학습 데이터 선택부(1010-3), 모델 학습부(1010-4) 및 모델 평가부(1010-5) 중 적어도 하나가 소프트웨어 모듈(또는, 인스터력션(instruction) 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 또한, 이 경우, 적어도 하나의 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 애플리케이션에 의해 제공될 수 있다. 또는, 적어도 하나의 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 애플리케이션에 의해 제공될 수 있다.
도 13은 일부 실시예에 따른 데이터 인식부(1020)의 블록도이다.
도 13을 참조하면, 일부 실시예에 따른 데이터 인식부(1020)는 데이터 획득부(1020-1) 및 인식 결과 제공부(1020-4)를 포함할 수 있다. 또한, 데이터 인식부(1020)는 전처리부(1020-2), 인식 데이터 선택부(1020-3) 및 모델 갱신부(1020-5) 중 적어도 하나를 선택적으로 더 포함할 수 있다.
데이터 획득부(1020-1)는 클라이언트 기기들의 결함 여부 판단에 필요한 인식 데이터를 획득할 수 있다.
인식 결과 제공부(1020-4)는 데이터 획득부(1020-1)에서 획득된 데이터를 입력 값으로 학습된 데이터 인식 모델에 적용하여 클라이언트 기기들의 결함 여부를 판단할 수 있다. 인식 결과 제공부(1020-4)는 데이터의 인식 목적에 따른 인식 결과를 제공할 수 있다. 또는, 인식 결과 제공부(1020-4)는 후술할 전처리부(1020-2)에서 전처리된 데이터를 입력 값으로 학습된 데이터 인식 모델에 적용하여 인식 결과를 제공할 수 있다. 또는, 인식 결과 제공부(1020-4)는 후술할 인식 데이터 선택부(1020-3)에 의해 선택된 데이터를 입력 값으로 데이터 인식 모델에 적용하여 인식 결과를 제공할 수 있다.
데이터 인식부(1210)는 데이터 인식 모델의 인식 결과를 향상시키거나, 인식 결과의 제공을 위한 자원 또는 시간을 절약하기 위하여, 전처리부(1020-2) 및 인식 데이터 선택부(1020-3)를 더 포함할 수도 있다.
전처리부(1020-2)는 전자 장치의 에러 여부 판단을 위한 인식에 이용하기 위하여 데이터 획득부(1020-1)에서 획득된 데이터를 전처리할 수 있다.
전처리부(1020-2)는 인식 결과 제공부(1020-4)가 상황 판단을 위한 데이터의 이용이 용이하도록, 획득된 데이터를 기 정의된 포맷으로 가공할 수 있다. 특히, 본 개시의 일 실시예에 따르면, 데이터 획득부(1020-1)는 클라이언트 기기들의 결함 여부 판단을 위해 복수의 센서의 센싱 데이터를 획득하고, 전처리부(1020-2)는 전술한 바와 같이, 기 정의된 포맷으로 센싱 데이터를 전처리할 수 있다.
인식 데이터 선택부(1020-3)는 전처리된 데이터 중에서 상황 판단에 필요한 인식 데이터를 선택할 수 있다. 선택된 인식 데이터는 인식 결과 제공부(1020-4)에게 제공될 수 있다. 인식 데이터 선택부(1020-3)는 기 설정된 선별 기준에 따라, 전처리된 데이터 중에서 클라이언트 기기들의 결함 여부 판단에 필요한 인식 데이터를 선별할 수 있다. 또한, 인식 데이터 선택부(1020-3)는 전술한 모델 학습부(1010-4)에 의한 학습에 의해 기 설정된 선별 기준에 따라 데이터를 선택할 수도 있다.
모델 갱신부(1020-5)는 인식 결과 제공부(1020-4)에 의해 제공되는 인식 결과에 대한 평가에 기초하여, 데이터 인식 모델이 갱신되도록 제어할 수 있다. 예를 들어, 모델 갱신부(1020-5)는 인식 결과 제공부(1020-4)에 의해 제공되는 인식 결과를 모델 학습부(1010-4)에게 제공함으로써, 모델 학습부(1010-4)가 데이터 인식 모델을 갱신하도록 제어할 수 있다.
한편, 이상에서 설명된 다양한 실시 예들은 소프트웨어(software), 하드웨어(hardware) 또는 이들의 조합된 것을 이용하여 컴퓨터(computer) 또는 이와 유사한 장치로 읽을 수 있는 기록 매체 내에서 구현될 수 있다. 하드웨어적인 구현에 의하면, 본 개시에서 설명되는 실시 예들은 ASICs(Application Specific Integrated Circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 프로세서(processors), 제어기(controllers), 마이크로 컨트롤러(micro-controllers), 마이크로 프로세서(microprocessors), 기타 기능 수행을 위한 전기적인 유닛(unit) 중 적어도 하나를 이용하여 구현될 수 있다. 소프트웨어적인 구현에 의하면, 본 명세서에서 설명되는 절차 및 기능과 같은 실시 예들은 별도의 소프트웨어 모듈들로 구현될 수 있다. 상기 소프트웨어 모듈들 각각은 본 명세서에서 설명되는 하나 이상의 기능 및 작동을 수행할 수 있다.
한편, 상술한 본 개시의 다양한 실시 예들에 따른 서버의 제어방법은 비일시적 판독 가능 매체(non-transitory readable medium) 에 저장될 수 있다. 이러한 비일시적 판독 가능 매체는 다양한 장치에 탑재되어 사용될 수 있다.
비일시적 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상술한 다양한 방법을 수행하기 위한 프로그램들은 CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등과 같은 비일시적 판독 가능 매체에 저장되어 제공될 수 있다.
또한, 개시된 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)으로 제공될 수 있다.
컴퓨터 프로그램 제품은 S/W 프로그램, S/W 프로그램이 저장된 컴퓨터로 읽을 수 있는 저장 매체 또는 판매자 및 구매자 간에 거래되는 상품을 포함할 수 있다.
예를 들어, 컴퓨터 프로그램 제품은 전자 장치 또는 전자 장치의 제조사 또는 전자 마켓(예, 구글 플레이 스토어, 앱 스토어)을 통해 전자적으로 배포되는 S/W 프로그램 형태의 상품(예, 다운로더블 앱)을 포함할 수 있다. 전자적 배포를 위하여, S/W 프로그램의 적어도 일부는 저장 매체에 저장되거나, 임시적으로 생성될 수 있다. 이 경우, 저장 매체는 제조사 또는 전자 마켓의 서버, 또는 중계 서버의 저장매체가 될 수 있다.
이상에서는 본 개시의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 개시는 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 개시의 요지를 벗어남이 없이 당해 개시에 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안될 것이다.
1000: 홈 네트워크 시스템

Claims (19)

  1. 홈 네트워크를 관리하는 서버에 있어서,
    상기 홈 네트워크 내의 적어도 하나의 전자 장치의 동작 상황 및 복수의 센서별 기준 센싱 데이터를 저장하는 저장부;
    상기 복수의 센서로부터 센싱 데이터를 수신하는 통신부; 및
    프로세서를 포함하고,
    상기 프로세서는,
    상기 적어도 하나의 전자 장치의 동작 상황을 판단하고,
    상기 판단된 동작 상황에 대응되는 상기 저장된 기준 센싱 데이터와 상기 수신된 센싱 데이터를 비교하여 상기 수신된 센싱 데이터 각각이 상기 기준 센싱 데이터의 기설정된 허용 범위 내인지 여부를 판단하고,
    상기 복수의 센서의 수에 대한 상기 기설정된 허용 범위를 벗어나는 센싱 데이터가 수신된 적어도 하나의 센서의 수의 비율 값이 기설정된 비율 값 이상이면, 상기 전자 장치에서 에러가 발생한 것으로 판단하고,
    상기 복수의 센서의 수에 대한 상기 적어도 하나의 센서의 수의 비율 값이 상기 기설정된 비율 값 미만이면, 상기 적어도 하나의 센서에서 에러가 발생한 것으로 판단하는 서버.
  2. 삭제
  3. 삭제
  4. 제1항에 있어서,
    상기 프로세서는,
    상기 적어도 하나의 전자 장치의 동작 상황이 신규 동작 상황인 것으로 판단되면, 상기 신규 동작 상황과 대응되는 시점에 상기 복수의 센서 각각으로부터 수신된 센싱 데이터를 상기 신규 동작 상황에 대응되는 기준 센싱 데이터로 상기 저장부에 저장하는 서버.
  5. 제1항에 있어서,
    상기 프로세서는,
    상기 적어도 하나의 전자 장치의 동작 상황이 신규 동작 상황인 것으로 판단되면, 상기 복수의 센서로부터 각각 수신된 복수의 센싱 데이터 중 상기 신규 동작 상황과 대응되는 시점에 센싱 값의 변화를 보이는 센싱 데이터를 상기 신규 동작 상황에 대응하는 기준 센싱 데이터로 상기 저장부에 저장하는 서버.
  6. 제1항에 있어서,
    상기 프로세서는,
    상기 홈 네트워크에 신규 센서가 등록된 이후, 상기 적어도 하나의 전자 장치의 동작 상황이 판단되면, 판단된 동작 상황과 대응되는 시점에 상기 신규 센서로부터 수신된 센싱 데이터를 상기 판단된 동작 상황에 대한 상기 신규 센서의 기준 센싱 데이터로 상기 저장부에 저장하는 서버.
  7. 제1항에 있어서,
    상기 프로세서는,
    상기 적어도 하나의 전자 장치로부터 상태 정보를 수신하고, 수신된 상태 정보에 기초하여 상기 적어도 하나의 전자 장치의 동작 상황을 판단하는 서버.
  8. 제1항에 있어서,
    상기 프로세서는,
    상기 적어도 하나의 전자 장치 및 복수의 센서 중 에러가 있는 것으로 판단된 기기에 대한 정보를 사용자 단말 장치로 전송하도록 상기 통신부를 제어하는 서버.
  9. 제1항에 있어서,
    상기 프로세서는,
    상기 적어도 하나의 전자 장치 및 복수의 센서 중 에러가 있는 것으로 판단된 기기에 대한 정보와 함께 상기 판단된 동작 상황에 대한 정보를 사용자 단말 장치로 전송하도록 상기 통신부를 제어하는 서버.
  10. 홈 네트워크를 관리하는 서버의 제어방법에 있어서,
    상기 홈 네트워크 내의 적어도 하나의 전자 장치의 동작 상황 및 복수의 센서별 기준 센싱 데이터를 저장하는 단계;
    상기 복수의 센서로부터 센싱 데이터를 수신하는 단계;
    상기 적어도 하나의 전자 장치의 동작 상황을 판단하는 단계;
    상기 판단된 동작 상황에 대응되는 상기 저장된 기준 센싱 데이터와 상기 수신된 센싱 데이터를 비교하여 상기 수신된 센싱 데이터 각각이 상기 기준 센싱 데이터의 기설정된 허용 범위 내인지 여부를 판단하는 단계;
    상기 복수의 센서의 수에 대한 상기 기설정된 허용 범위를 벗어나는 센싱 데이터가 수신된 적어도 하나의 센서의 수의 비율 값이 기설정된 비율 값 이상이면, 상기 전자 장치에서 에러가 발생한 것으로 판단하는 단계;
    상기 복수의 센서의 수에 대한 상기 적어도 하나의 센서의 수의 비율 값이 상기 기설정된 비율 값 미만이면, 상기 적어도 하나의 센서에서 에러가 발생한 것으로 판단하는 단계;를 포함하는 서버의 제어방법.
  11. 삭제
  12. 삭제
  13. 제10항에 있어서,
    상기 저장하는 단계는,
    상기 적어도 하나의 전자 장치의 동작 상황이 신규 동작 상황인 것으로 판단되면, 상기 신규 동작 상황과 대응되는 시점에 상기 복수의 센서 각각으로부터 수신된 센싱 데이터를 상기 신규 동작 상황에 대응되는 기준 센싱 데이터로 저장하는 서버의 제어방법.
  14. 제10항에 있어서,
    상기 저장하는 단계는,
    상기 적어도 하나의 전자 장치의 동작 상황이 신규 동작 상황인 것으로 판단되면, 상기 복수의 센서로부터 각각 수신된 복수의 센싱 데이터 중 상기 신규 동작 상황과 대응되는 시점에 센싱 값의 변화를 보이는 센싱 데이터를 상기 신규 동작 상황에 대응하는 기준 센싱 데이터로 저장하는 서버의 제어방법.
  15. 제10항에 있어서,
    상기 저장하는 단계는,
    상기 홈 네트워크에 신규 센서가 등록된 이후, 상기 적어도 하나의 전자 장치의 동작 상황이 판단되면, 판단된 동작 상황과 대응되는 시점에 상기 신규 센서로부터 수신된 센싱 데이터를 상기 판단된 동작 상황에 대한 상기 신규 센서의 기준 센싱 데이터로 저장하는 서버의 제어방법.
  16. 제10항에 있어서,
    상기 동작 상황을 판단하는 단계는,
    상기 적어도 하나의 전자 장치로부터 상태 정보를 수신하고, 수신된 상태 정보에 기초하여 상기 적어도 하나의 전자 장치의 동작 상황을 판단하는 서버의 제어방법.
  17. 제10항에 있어서,
    상기 적어도 하나의 전자 장치 및 복수의 센서 중 에러가 있는 것으로 판단된 기기에 대한 정보를 사용자 단말 장치로 전송하는 단계;를 더 포함하는 서버의 제어방법.
  18. 제10항에 있어서,
    상기 적어도 하나의 전자 장치 및 복수의 센서 중 에러가 있는 것으로 판단된 기기에 대한 정보와 함께 상기 판단된 동작 상황에 대한 정보를 사용자 단말 장치로 전송하는 단계;를 더 포함하는 서버의 제어방법.
  19. 홈 네트워크를 관리하는 서버의 제어방법을 실행하기 위한 프로그램을 포함하는 컴퓨터 판독가능 기록매체에 있어서,
    상기 제어방법은,
    상기 홈 네트워크 내의 적어도 하나의 전자 장치의 동작 상황 및 복수의 센서별 기준 센싱 데이터를 저장하는 단계;
    상기 복수의 센서로부터 센싱 데이터를 수신하는 단계;
    상기 적어도 하나의 전자 장치의 동작 상황을 판단하는 단계;
    상기 판단된 동작 상황에 대응되는 상기 저장된 기준 센싱 데이터와 상기 수신된 센싱 데이터를 비교하여 상기 수신된 센싱 데이터 각각이 상기 기준 센싱 데이터의 기설정된 허용 범위 내인지 여부를 판단하는 단계;
    상기 복수의 센서의 수에 대한 상기 기설정된 허용 범위를 벗어나는 센싱 데이터가 수신된 적어도 하나의 센서의 수의 비율 값이 기설정된 비율 값 이상이면, 상기 전자 장치에서 에러가 발생한 것으로 판단하는 단계;
    상기 복수의 센서의 수에 대한 상기 적어도 하나의 센서의 수의 비율 값이 상기 기설정된 비율 값 미만이면, 상기 적어도 하나의 센서에서 에러가 발생한 것으로 판단하는 단계;를 포함하는 기록매체.
KR1020170145918A 2016-12-20 2017-11-03 홈 네트워크를 관리하는 서버 및 이의 제어방법 KR102367395B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US16/464,989 US11303977B2 (en) 2016-12-20 2017-12-19 Server for managing home network and control method therefor
PCT/KR2017/015044 WO2018117610A1 (ko) 2016-12-20 2017-12-19 홈 네트워크를 관리하는 서버 및 이의 제어방법

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20160174785 2016-12-20
KR1020160174785 2016-12-20

Publications (2)

Publication Number Publication Date
KR20180071932A KR20180071932A (ko) 2018-06-28
KR102367395B1 true KR102367395B1 (ko) 2022-02-25

Family

ID=62780351

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170145918A KR102367395B1 (ko) 2016-12-20 2017-11-03 홈 네트워크를 관리하는 서버 및 이의 제어방법

Country Status (1)

Country Link
KR (1) KR102367395B1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020141696A1 (ko) * 2019-01-04 2020-07-09 주식회사 딥엑스 전자기기를 위한 특정 기능 수행용 학습된 모델 작성 방법 및 동일 기능을 수행하기 위한 학습 모델, 전용 칩 및 전용 칩 동작 방법, 그리고 전자기기와 시스템
KR102099287B1 (ko) * 2019-01-08 2020-04-10 경희대학교 산학협력단 클라우드 기반의 센서 데이터 관리 장치 및 그 방법
US11637744B2 (en) 2020-11-19 2023-04-25 Samsung Electronics Co., Ltd. Methods and systems for managing health of devices in an IoT environment using inter-device correlation
KR102312612B1 (ko) * 2021-04-13 2021-10-14 한국건설기술연구원 홈 네트워크 시스템 및 그 데이터 통신방법
KR102568300B1 (ko) * 2022-07-25 2023-08-17 임혜경 센서 데이터를 이용하는 상황 인식 시스템 및 그것의 상황 인식 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101208857B1 (ko) * 2011-03-25 2012-12-05 순천대학교 산학협력단 센서 네트워크 기반의 노드 진단 방법 및 시스템
US20160006576A1 (en) * 2013-09-12 2016-01-07 Panasonic Intellectual Property Corporation Of America Information notification method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101208857B1 (ko) * 2011-03-25 2012-12-05 순천대학교 산학협력단 센서 네트워크 기반의 노드 진단 방법 및 시스템
US20160006576A1 (en) * 2013-09-12 2016-01-07 Panasonic Intellectual Property Corporation Of America Information notification method

Also Published As

Publication number Publication date
KR20180071932A (ko) 2018-06-28

Similar Documents

Publication Publication Date Title
KR102367395B1 (ko) 홈 네트워크를 관리하는 서버 및 이의 제어방법
US11303977B2 (en) Server for managing home network and control method therefor
US11218429B2 (en) Electronic device and method for changing chatbot
KR102412202B1 (ko) 냉장고 및 이의 정보 표시 방법
KR102643027B1 (ko) 전자 장치, 그의 제어 방법
US20200074993A1 (en) Electronic device, method for determining utterance intention of user thereof, and non-transitory computer-readable recording medium
KR102579904B1 (ko) 비전 검사 관리 방법 및 비전 검사 시스템
US11876925B2 (en) Electronic device and method for controlling the electronic device to provide output information of event based on context
KR102426435B1 (ko) 사용자 입력에 기반한 문장을 제공하는 장치 및 방법
KR102474246B1 (ko) 복수 개의 전자 디바이스를 이용하여 신경망 모델을 처리하는 방법 및 시스템
KR20200047205A (ko) 전자 장치 및 이의 제어 방법
KR20230023704A (ko) 전자 장치 및 그의 제어 방법
EP3523709B1 (en) Electronic device and controlling method thereof
US11739458B2 (en) Artificial intelligence washing machine and operation method thereof
US20210194717A1 (en) Integrated control method and system for home appliance using artificial intelligence
KR20230164630A (ko) 공기 조화 장치 및 이의 제어 방법
US11430137B2 (en) Electronic device and control method therefor
US11468270B2 (en) Electronic device and feedback information acquisition method therefor
KR102458336B1 (ko) 공기 조화 장치 및 이의 제어 방법
US11347805B2 (en) Electronic apparatus, method for controlling the same, and non-transitory computer readable recording medium
US20240070449A1 (en) Systems and methods for expert guided semi-supervision with contrastive loss for machine learning models
KR102440963B1 (ko) 전자 장치, 이의 제어 방법 및 비일시적인 컴퓨터 판독가능 기록매체
Drungilas et al. Cloud interconnected affect reward based automation ambient comfort controller
CN114615319B (zh) 电子设备及控制该电子设备的方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant