KR20240008288A - IoT 디바이스의 자가 복구 방법 및 그 전자 장치 - Google Patents

IoT 디바이스의 자가 복구 방법 및 그 전자 장치 Download PDF

Info

Publication number
KR20240008288A
KR20240008288A KR1020230197107A KR20230197107A KR20240008288A KR 20240008288 A KR20240008288 A KR 20240008288A KR 1020230197107 A KR1020230197107 A KR 1020230197107A KR 20230197107 A KR20230197107 A KR 20230197107A KR 20240008288 A KR20240008288 A KR 20240008288A
Authority
KR
South Korea
Prior art keywords
iot device
sensor
processor
perform
self
Prior art date
Application number
KR1020230197107A
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 KR20240008288A publication Critical patent/KR20240008288A/ko

Links

Classifications

    • 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/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • 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
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • 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/0766Error or fault reporting or storing
    • G06F11/0784Routing of error reports, e.g. with a specific transmission path or data flow
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2284Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing by power-on test, e.g. power-on self test [POST]
    • 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/3037Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3058Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

일 실시예에 따른 IoT 디바이스는, 센서, 진단 회로, 메모리, 상기 센서, 상기 진단 회로, 및 상기 메모리와 작동적으로 연결된(operatively coupled to) 프로세서를 포함하고, 상기 프로세서는, 상기 센서 내의 자가 점검 기능이 이용가능한지 여부를 식별하기 위한 테스트를 수행하고, 상기 자가 점검 기능이 이용 불가능함을 식별한 것에 응답하여, 상기 센서에 대한 테스트를 수행하기 위한 진단 회로를 구동하고, 상기 진단 회로를 이용한 점검을 위해, 스케줄링을 수행하고, 상기 스케줄링에 기반하여 상기 진단 회로를 통해 상기 센서에 대한 점검을 수행하도록 구성될 수 있다. 다른 실시예들도 가능하다.

Description

IoT 디바이스의 자가 복구 방법 및 그 전자 장치{METHOD FOR SELF RECOVERY OF IOT DEVICE }
아래의 설명들은, IoT 디바이스의 자가 복구 방법 및 그 전자 장치에 관한 것이다.
최근 가장 이슈가 되는 사물인터넷(Internet of Things, IoT)이 발달하면서 다양한 사물 인터넷 서비스들이 제공되고 있다. 사물인터넷이란 세상에서 존재하는 모든 사물(things)을 네트워크로 연결해 인간과 사물, 사물과 사물 간에 언제 어디서나 서로 소통할 수 있도록 하는 새로운 정보통신 기반이라고 정의할 수 있다. 이러한 사물인터넷의 핵심은 사용자들에게 실시간으로 디바이스의 데이터를 분석하여 그에 맞는 자동화된 서비스를 제공하는 것이라고 할 수 있다.
사물인터넷(Internet of Things, 약어로 IoT)은 각종 사물에 센서와 통신 기능을 내장하여 인터넷에 연결하는 기술이다. 즉, 사물인터넷은 무선 통신을 통해 각종 사물을 연결하는 기술을 의미한다. 여기서, 사물이란 가전제품, 모바일 장비, 웨어러블 디바이스 등 다양한 임베디드 시스템이 된다. 정보 기술 연구 및 자문회사 가트너에 따르면 사물인터넷 기술을 사용하는 사물의 개수는 2020년까지 이 수가 260억 개에 이를 것으로 예상된다. 이와 같이 많은 사물이 연결되면 인터넷을 통해 방대한 데이터가 모이게 되는데, 이렇게 모인 데이터는 기존 기술로 분석하기 힘들 정도로 방대하다. 이것을 빅 데이터라고 부른다.
한편, 종래의 IoT 디바이스는 다양한 임무를 수행하고 일정 시간 동안 데이터를 센싱하고 센싱된 데이터를 네트워크를 통해 송수신한다. 종래의 IoT 디바이스는 자가복구 기능 및 상태점검 기능이 없으며, 이에 따라, 유지관리에 많은 시간과 비용이 발생할 수 있다.
본 발명의 실시예들은 자가복구 기능 및 상태점검 기능이 부족한 종래의 IoT 디바이스의 문제를 해결하여 IoT 디바이스를 현장에 설치한 후 유지관리를 위한 시간과 비용을 절감하기 위한, IoT 디바이스 헬스 인덱스 및 자가복구 방법 및 장치를 제공하고자 한다.
다만, 본 발명의 해결하고자 하는 과제는 이에 한정되는 것이 아니며, 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위의 환경에서도 다양하게 확장될 수 있을 것이다.
일 실시예에 따른 IoT 디바이스는, 센서, 진단 회로, 메모리, 상기 센서, 상기 진단 회로, 및 상기 메모리와 작동적으로 연결된(operatively coupled to) 프로세서를 포함하고, 상기 프로세서는, 상기 센서 내의 자가 점검 기능이 이용가능한지 여부를 식별하기 위한 테스트를 수행하고, 상기 자가 점검 기능이 이용 불가능함을 식별한 것에 응답하여, 상기 센서에 대한 테스트를 수행하기 위한 진단 회로를 구동하고, 상기 진단 회로를 이용한 점검을 위해, 스케줄링을 수행하고, 상기 스케줄링에 기반하여 상기 진단 회로를 통해 상기 센서에 대한 점검을 수행하도록 구성될 수 있다.
일 실시예에 따른 IoT 디바이스의 자가복구 방법은, IoT 디바이스에 포함된 센서 내의 자가 점검 기능이 이용가능한지 여부를 식별하기 위한 테스트를 수행하는 동작과, 상기 자가 점검 기능이 이용 불가능함을 식별한 것에 응답하여, 상기 센서에 대한 테스트를 수행하기 위한 진단 회로를 구동하는 동작과, 상기 진단 회로를 이용한 자가 점검을 위한 스케줄링을 수행하는 동작과, 상기 스케줄링에 기반하여 상기 진단 회로를 통해 상기 센서에 대한 점검을 수행하는 동작을 포함할 수 있다.
개시된 기술은 다음의 효과를 가질 수 있다. 다만, 특정 실시예가 다음의 효과를 전부 포함하여야 한다거나 다음의 효과만을 포함하여야 한다는 의미는 아니므로, 개시된 기술의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.
본 발명의 실시예들은 자가복구 기능 및 상태점검 기능이 부족한 종래의 IoT 디바이스의 문제를 해결하여 IoT 디바이스를 현장에 설치한 후 유지관리를 위한 시간과 비용을 절감할 수 있다.
본 발명의 실시예들은 IoT 디바이스 내부에 자가점검 알고리즘을 내장하여 하드웨어 상태, 소프트웨어 상태 및 네트워크 상태를 점검하여 원인에 대한 이벤트를 발생하고 자가복구 및 복구 메시지 전송, 에너지 절약 모드로 전환 등의 처리를 스스로 수행할 수 있다.
도 1은 본 발명의 일 실시예에 따른 IoT 디바이스 헬스 인덱스 및 자가복구 방법에서 센서 상태 모니터링 과정을 나타낸 도면이다.
도 2는 본 발명의 일 실시예에 따른 IoT 디바이스 헬스 인덱스 및 자가복구 방법에서 전원 상태 모니터링 과정을 나타낸 도면이다.
도 3 및 도 4는 본 발명의 일 실시예에 따른 IoT 디바이스 헬스 인덱스 및 자가복구 방법에서 소프트웨어 상태 모니터링을 위한 와치독 타이머와 소프트웨어 상태 모니터링 과정을 나타낸 도면이다.
도 5 및 도 6은 본 발명의 일 실시예에 따른 IoT 디바이스 헬스 인덱스 및 자가복구 방법에서 네트워크 모니터링 과정을 나타낸 도면이다. 도 5 및 도 6은 A-A 및 B-B로 연결되어 있다.
도 7은 본 발명의 일 실시예에 따른 IoT 디바이스 헬스 인덱스 및 자가복구 장치의 구성도이다.
본 발명은 다양한 변환을 가할 수 있고 여러가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 구체적으로 설명하고자 한다. 그러나 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 기술적 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해될 수 있다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 구성요소들이 용어들에 의해 한정되는 것은 아니다. 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
본 발명에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 본 발명에서 사용한 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나 이는 당 분야에 종사하는 기술자의 의도, 판례, 또는 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 발명에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
이하, 본 발명의 실시예들을 첨부 도면을 참조하여 상세히 설명하기로 하며, 첨부 도면을 참조하여 설명함에 있어, 동일하거나 대응하는 구성요소는 동일한 도면번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
도 1은 본 발명의 일 실시예에 따른 IoT 디바이스에서 자가 복구를 수행하는 방법을 설명하기 위한 흐름도이다.
도 1을 참조하면, 단계 S101에서, IoT 디바이스는, IoT 디바이스에 포함된 센서의 자가 점검 기능이 이용 가능한지 여부를 판단하기 위한 테스트를 수행할 수 있다. 예를 들어, IoT 디바이스는, IoT 디바이스에 포함된 센서로, 테스트 수행을 요청하는 제어 신호를 송신할 수 있다. 일 실시예에 따르면, IoT 디바이스는, 지정된 주기마다 센서의 자가 점검 기능이 이용 가능한지 여부를 판단하기 위한 테스트를 수행할 수 있다. 일 실시예에 따르면, IoT 디바이스는, 자가 점검 요청 신호를 외부 전자 장치로부터 수신한 경우, 센서의 자가 점검 기능이 이용 가능한지 여부를 판단하기 위한 테스트를 수행할 수 있다.
단계 S103에서, IoT 디바이스는, 테스트 수행 결과에 기반하여 IoT 디바이스에 포함된 센서의 자가 점검 기능이 이용 가능한지 여부를 판단할 수 있다. 예를 들어, IoT 디바이스는, IoT 디바이스에 포함된 센서로 테스트 수행을 요청하는 제어 신호를 송신한 이후 지정된 시간 내에 센서로부터 응답 신호가 수신된 경우, 센서의 자가 점검 기능이 이용 가능한 것으로 판단할 수 있다. 다른 예를 들어, IoT 디바이스는, IoT 디바이스에 포함된 센서로 테스트 수행을 요청하는 제어 신호를 송신한 이후 지정된 시간 내에 센서로부터 응답 신호가 수신되지 않는 경우, 센서의 자가 점검 기능이 이용 불가능한 것으로 판단할 수 있다. IoT 디바이스는, 센서의 자가 점검 기능이 이용한 경우, 단계 S105를 수행하고, 센서의 자가 점검 기능을 이용할 수 없는 경우, 단계 S107을 수행할 수 있다.
단계 S105에서, IoT 디바이스는, 센서의 자가 점검 기능이 이용 가능함을 식별한 것에 응답하여, 센서 자가 점검 기능을 이용하여 센서에 대한 점검을 수행할 수 있다. 예를 들어, IoT 디바이스는, 센서로부터 자가 점검 결과를 지시하는 신호(예: 정상/비정상)를 수신함으로써, 센서의 상태를 식별할 수 있다.
단계 S107에서, IoT 디바이스는, 센서의 자가 점검 기능이 이용 불가능함을 식별한 것에 응답하여, 진단 회로를 구동시킬 수 있다.
단계 S109에서, IoT 디바이스는, 진단 회로를 통해 센서를 점검하기 위해 스케줄링을 수행할 수 있다. 예를 들어, IoT 디바이스는, IoT 디바이스가 진단 회로에게 테스트 요청 신호를 송신하는 타이밍, 센서가 진단 회로로부터 테스트 신호를 수신하는 타이밍, 센서가 테스트 신호에 대한 응답 신호를 진단 회로에게 송신하는 타이밍, 및 IoT 디바이스가 테스트 점검 결과를 지시하는 신호를 진단 회로로부터 수신하는 타이밍을 할당할 수 있다. IoT 디바이스는, 스케줄링을 수행한 것에 응답하여, 스케줄링 정보를 진단 회로로 제공하고, 스케줄링에 따라, 테스트 요청 신호를 진단 회로로 송신할 수 있다. 진단 회로는, IoT 디바이스로부터 테스트 요청 신호가 수신되면, 스케줄링 정보에 기반하여, 센서에 대한 테스트를 수행할 수 있다.
단계 S111에서, IoT 디바이스는, 진단 회로로부터 수신된 테스트 점검 결과를 지시하는 신호(예: 정상/비정상)에 기반하여 센서에 대한 점검을 수행할 수 있다. 예를 들어, IoT 디바이스는, 진단 회로로부터 점검 결과를 지시하는 신호(예: 정상/비정상)를 수신함으로써, 센서의 상태를 식별할 수 있다.
단계 S113에서, IoT 디바이스는, 센서 점검 결과에 대응하는 동작을 수행할 수 있다. 예를 들어, IoT 디바이스는, 센서의 상태가 제1 상태(예: 정상 상태)인 경우, 점검 기능을 종료할 수 있다. 다른 예를 들어, IoT 디바이스는 센서의 상태가 제2 상태(예: 비정상 상태)인 경우, 센서에 대한 리셋(reset)(예: 소프트웨어 리셋 및/또는 하드웨어 리셋)을 수행할 수 있다. 또 다른 예를 들어, IoT 디바이스는, 센서의 상태가 제2 상태인 경우, IoT 디바이스의 구성 요소들 중 적어도 일부에 대한 리셋(예: 소프트웨어 리셋 및/또는 하드웨어 리셋)을 수행할 수 있다. 일 실시예에 따르면, IoT 디바이스는, 센서에 대한 리셋을 수행한 후 센서의 상태를 식별하는 동작들(예: 동작 101 내지 동작 111)을 재수행하고, 리셋 이후에도 센서의 상태가 제2 상태인 경우, IoT 디바이스의 운용자에게 IoT 디바이스(또는 센서)가 이상 상태임을 알리기 위해, 기 설정된 외부 전자 장치로 알림을 제공할 수 있다.
상술한 바와 같이, IoT 디바이스는, IoT 디바이스에 포함된 센서의 상태를 식별하고, 센서의 상태가 이상 상태인 경우, 자가복구를 위해, 센서에 대한 리셋을 수행할 수 있다. 이에 따라, IoT 디바이스의 유지관리를 위한 시간과 비용이 절감될 수 있다.
도 2는 본 발명의 일 실시예에 따른 IoT 디바이스가 전원 상태에 기반하여 전송 상태를 제어하는 방법을 설명하기 위한 흐름도이다.
도 2를 참조하면, 동작 201에서, IoT 디바이스는, 제1 전지의 전압을 식별할 수 있다. 예를 들어, IoT 디바이스는, 지정된 주기마다 제1 전지의 전압을 측정할 수 있다. 다른 예를 들어, IoT 디바이스는, 전지의 전압 측정을 요청하는 신호를 외부 전자 장치로부터 수신한 것에 응답하여, 제1 전지의 전압을 측정할 수 있다.
동작 203에서, IoT 디바이스는, 제1 전지의 전압을 측정한 것에 응답하여, 제1 전지의 전압이 제1 전압 미만인지 여부를 결정할 수 있다. IoT 디바이스는, 제1 전지의 전압이 제1 전압 미만인 경우, 동작 205를 수행하고, 제1 저지의 전압이 제1 전압 이상인 경우, 동작 201을 재수행할 수 있다.
동작 205에서, IoT 디바이스는, 제1 전지의 전압이 제1 전압 미안임을 식별한 것에 응답하여, 제2 전지의 전압을 측정할 수 있다.
동작 207에서, IoT 디바이스는, 제2 전지의 전압을 측정한 것에 응답하여, 제2 전지의 전압이 제2 전압 미만인지 여부를 결정할 수 있다. IoT 디바이스는, 제2 전지의 전압이 제2 전압 이상인 경우, 동작 205를 재수행하고, 제2 전지의 전압이 제2 전압 미만인 경우, 동작 209를 수행할 수 있다.
동작 209에서, IoT 디바이스는, 제2 전지의 전압이 제2 전압 미만임을 식별한 것에 응답하여, IoT 디바이스의 전송 속도를 변경할 수 있다. 예를 들어, IoT 디바이스는 IoT 디바이스의 전송 속도를 제1 속도에서 제1 속도보다 낮은 제2 속도로 변경시킬 수 있다.
*동작 211에서, IoT 디바이스는, IoT 디바이스의 메모리의 잔여 용량이 기준 용량 미만인지 여부를 결정할 수 있다. IoT 디바이스는, 메모리의 잔여 용량이 기준 용량 이상인 경우, 동작 205을 재수행하고, 메모리의 잔여 용량이 기준 용량 미만인 경우, 동작 213을 수행할 수 있다.
동작 213에서, IoT 디바이스는, 메모리의 잔여 용량이 기준 용량 미만임을 식별한 것에 응답하여, IoT 디바이스의 전송 주기를 변경하고, 센서값 저장을 우회(bypass)할 수 있다. 예를 들어, IoT 디바이스는, 전송 주기를 제1 주기에서 제1 주기보다 짧은 제2 주기로 조정하고, 센서로부터 획득되는 센서값을 메모리에 저장하는 동작을 우회할 수 있다. 다른 예를 들어, IoT 디바이스는, 전송 주기를 제2 주기에서 제1 주기로 조정하고, 센서로부터 획득되는 센서값을 메모리에 저장하는 동작을 우회할 수 있다.
이상에서는, IoT 디바이스가, 제2 전지의 전압이 제2 전압 미만임을 식별한 것에 응답하여, IoT 디바이스의 전송 속도를 변경시키는 것으로 설명하였으나, 일 실시예에 따르면, IoT 디바이스는, IoT 디바이스에 포함된 센서의 측정 주기를 변경시킬 수도 있다. 예를 들어, IoT 디바이스는, 제2 전지의 전압이 제2 전압 미만임을 식별한 것에 응답하여, IoT 디바이스의 전송 속도는 유지하고, 센서의 측정 주기를 제1 주기에서 제1 주기보다 낮은 제2 주기로 변경시킬 수 있다. 다른 예를 들어, IoT 디바이스는, 제2 전지의 전압이 제2 전압 미만임을 식별한 것에 응답하여, IoT 디바이스의 전송 속도를 제1 속도에서 제2 속도로 변경시키고, 센서의 측정 주기를 제1 주기에서 제2 주기로 변경시킬 수 있다.
상술한 바와 같이, IoT 디바이스는, 전지의 상태를 모니터링하고, 전지의 상태에 기반하여, IoT 디바이스의 전송 상태를 변경시킴으로써, 전지의 전압이 저하된 상태에서도, 기 설정된 기능을 수행(또는 제공)할 수 있다.
도 3 및 도 4는 본 발명의 일 실시예에 따른 IoT 디바이스의 소프트웨어 상태 모니터링을 위한 와치독 타이머와 소프트웨어 상태 모니터링 과정을 나타낸 도면이다.
IoT 디바이스는 다양한 임무(제어 및 모니텅)를 수행한다. 다양한 임무를 수행하기 위해 펌웨어가 IoT 디바이스 내부에 적재되고 순차적으로 실행된다.
그러나 프로그래머의 실수 또는 컴파일러 오류 등의 이유로 오류가 발생하게 된다. 하지만, 현장에 설치된 IoT 디바이스의 경우, 점검을 위한 접근의 원활하지 않은 경우가 많으며, 유지보수를 위한 시간과 비용이 많이 소비되는 부분이 있다.
이를 해결하기 위해, IoT 디바이스는 셀프 타이머를 구동하여 정상적인 루틴 수행이 이루어지지 않으면, 자기 스스로를 리셋하여 처음부터 임무를 수행한다. IoT 디바이스는 셀프 리셋을 위한 와치독 타이머(WDT(Watchdog Timer))를 이용하고, 이를 활용한 셀프 리셋 과정을 시도한다. 도 3에는 와치독 타이머가 도시되어 있다.
마이크로 컨트롤러 유닛(MCU(micro controller unit)(100)은 CPU(110), 와치독 타이머(120), 및 클럭(130)을 포함할 수 있다. 와치독 타이머(120)가 만료되면, 와치독 타이머(120)는 CPU(110)로 리셋 명령을 송신하며, CPU(110)는 리셋 명령을 수신한 것에 응답하여 리셋 동작을 수행할 수 있다.
도 4에 도시된 바와 같이, 단계 S301에서, IoT 디바이스는 IoT 디바이스의 소프트웨어 상태에 대해 리셋을 수행할 수 있다.
단계 S302에서, IoT 디바이스는 일정 기간(예: 100ms) 동안 신호를 대기할 수 있다.
단계 S303에서, IoT 디바이스는 신호가 수신되는지 여부를 결정할 수 있다. IoT 디바이스는, 신호가 수신되지 않는 경우, 단계 S304를 수행하고, 신호가 수신되는 경우, 단계 S305를 수행할 수 있다.
단계 S304에서, IoT 디바이스는 일정 기간 내에 신호가 수신되지 않음을 식별한 것에 응답하여, 와치독 타이머(120)가 만료되었는지 여부를 결정할 수 있다. IoT 디바이스는, 와치독 타이머(120)가 만료된 경우, 단계 S301을 재수행하고, 와치독 타이머(120)가 만료되지 않은 경우, 단계 S302를 재수행할 수 있다.
단계 S305에서, IoT 디바이스는 일정 기간 내에 신호를 수신한 것에 응답하여, 와치독 타이머(120)에 대한 리셋을 수행할 수 있다. 예를 들어, IoT 디바이스의 마이크로 컨트롤러 유닛(100)의 CPU(110)는 와치독 타이머(120)가 리셋되도록, Kick 신호를 와치독 타이머(120)로 송신할 수 있다.
단계 S306에서, IoT 디바이스는 수신된 신호를 처리하고, 단계 S301을 재수행할 수 있다.
도 5 및 도 6은 일 실시예에 따른 IoT 디바이스에서 오류를 복구하는 방법을 설명하기 위한 흐름도이다.
도 5 및 도 6을 참조하면, 단계 S401에서, IoT 디바이스는, IoT 디바이스에 포함된 센서의 센서 데이터를 취득할 수 있다.
단계 S402에서, IoT 디바이스는, 취득된 센서 데이터를 외부 전자 장치로 송신할 수 있다. 예를 들어, IoT 디바이스는, 취득된 센서 데이터를 브로드캐스팅(broadcasting)할 수 있다. 다른 예를 들어, IoT 디바이스는, 취득된 센서 데이터를 기 설정된 적어도 하나의 외부 전자 장치로 송신할 수 있다.
단계 S403에서, IoT 디바이스는, 전송 오류가 발생하는지 여부를 결정할 수 있다. 예를 들어, IoT 디바이스는 지정된 주기마다 전송 오류가 발생하는지 여부를 체크할 수 있다. 다른 예를 들어, IoT 디바이스는, 지정된 시간에 전송 오류가 발생하는지 여부를 체크할 수 있다. IoT 디바이스는, 전송 오류가 발생하지 않은 경우, 단계 S404를 수행하고, 전송 오류가 발생한 경우, 단계 S405를 수행할 수 있다.
단계 S404에서, IoT 디바이스는, 전송 오류가 발생하지 않음을 식별한 것에 응답하여, 전송 오류 카운터를 감소시킬 수 있다. 예를 들어, IoT 디바이스는 메모리에 저장된 전송 오류 카운터 값에 기 설정된 값을 차감함으로써, 전송 오류 카운터를 감소시킬 수 있다.
단계 S405에서, IoT 디바이스는, 전송 오류가 발생함을 식별한 것에 응답하여, 전송 오류 카운터를 증가시킬 수 있다. 예를 들어, IoT 디바이스는 메모리에 저장된 전송 오류 카운더 값에 기 설정된 값을 증가시킴으로써, 전송 오류 카운터를 증가시킬 수 있다.
단계 S406에서, IoT 디바이스는, 전송 오류 카운터 값이 전송 오류 한계값을 초과하는지 여부를 결정할 수 있다. IoT 디바이스는, 전송 오류 카운터 값이 전송 오류 한계값을 초과하는 경우, 단계 S407을 수행하고, 전송 오류 카운터 값이 전송 오류 한계값 이하인 경우, 단계 S401을 재수행할 수 있다.
단계 S407에서, IoT 디바이스는, 전송 오류 카운터 값이 전송 오류 한계값을 초과함을 식별한 것에 응답하여, 소프트웨어 리셋을 수행할 수 있다. 예를 들어, IoT 디바이스는, IoT 디바이스 내에 설치된 적어도 하나의 프로그램에 대한 초기화를 수행함으로써, 소프트웨어 리셋을 수행할 수 있다. 다른 예를 들어, IoT 디바이스는, IoT 디바이스의 네트워크 모듈에 대한 리셋을 수행함으로써, 소프트웨어 리셋을 수행할 수 있다.
단계 S408에서, IoT 디바이스는, 취득된 센서 데이터를 외부 전자 장치로 송신할 수 있다. 예를 들어, IoT 디바이스는, 센서 데이터를 브로드캐스팅할 수 있다. 다른 예를 들어, IoT 디바이스는, 센서 데이터를 기 설정된 적어도 하나의 외부 전자 장치로 송신할 수 있다.
단계 S409에서, IoT 디바이스는, 전송 오류가 발생했는지 여부를 결정할 수 있다. IoT 디바이스는, 전송 오류가 발생하지 않은 경우, 단계 S410을 수행하고, 전송 오류가 발생한 경우, 단계 S411을 수행할 수 있다.
단계 S410에서, IoT 디바이스는, 전송 오류가 발생하지 않음을 식별한 것에 응답하여, 전송 오류 카운터를 감소시킬 수 있다. 예를 들어, IoT 디바이스는 메모리에 저장된 전송 오류 카운터 값에 기 설정된 값을 차감함으로써, 전송 오류 카운터를 감소시킬 수 있다.
단계 S411에서, IoT 디바이스는, 전송 오류가 발생함을 식별한 것에 응답하여, 하드웨어 리셋을 수행할 수 있다. 예를 들어, IoT 디바이스는, IoT 디바이스의 프로세서의 상태를 식별하고, 프로세서의 상태가 제1 상태(예: 정상 상태)인 경우, 하드웨어 리셋을 수행할 수 있다. IoT 디바이스는, IoT 디바이스의 프로세서의 상태가 제2 상태(예: 비정상 상태)인 경우, 프로세서에 대한 리셋만 수행할 수 있다. 일 실시예에 따르면, IoT 디바이스는, 하드웨어 리셋을 수행할 시, 전송할 데이터가 유지되도록, 메모리를 제외한 나머지 구성에 대한 하드웨어 리셋을 수행할 수 있다.
단계 S412에서, IoT 디바이스는, 하드웨어 리셋을 수행한 것에 응답하여, 센서 데이터를 전송할 수 있다. 예를 들어, IoT 디바이스는, 센서 데이터를 브로드캐스팅할 수 있다. 다른 예를 들어, IoT 디바이스는, 센서 데이터를 기 설정된 적어도 하나의 외부 전자 장치로 송신할 수 있다.
단계 S413에서, IoT 디바이스는, 전송 오류가 발생했는지 여부를 결정할 수 있다. IoT 디바이스는, 전송 오류가 발생하지 않은 경우, 단계 S414을 수행하고, 전송 오류가 발생한 경우, 단계 S415를 수행할 수 있다.
단계 S414에서, IoT 디바이스는, 전송 오류가 발생하지 않음을 식별한 것에 응답하여, 전송 오류 카운터를 감소시킬 수 있다. 예를 들어, IoT 디바이스는 메모리에 저장된 전송 오류 카운터 값에 기 설정된 값을 차감함으로써, 전송 오류 카운터를 감소시킬 수 있다.
단계 S415에서, IoT 디바이스는, 전송 오류가 발생함을 식별한 것에 응답하여, 네트워크 복구 메시지를 전송할 수 있다. 예를 들어, IoT 디바이스는, 네트워크 복구 메시지를 브로드캐스팅할 수 있다. 다른 예를 들어, IoT 디바이스는, 네트워크 복구 메시지를 기 설정된 적어도 하나의 외부 전자 장치(예: IoT 디바이스 운용자의 휴대용 단말기)로 송신할 수 있다.
단계 S416에서, IoT 디바이스는, IoT 디바이스에 포함된 센서의 데이터를 취득할 수 있다.
단계 S417에서, IoT 디바이스는, 센서 데이터의 전송을 중단(또는 우회)하고, 센서 데이터를 메모리에 저장할 수 있다. IoT 디바이스는, 기 설정된 시간 동안, 또는 지정된 신호가 수신될 때까지 센서 데이터를 취득하는 단계 S416과 취득된 센서 데이터를 저장하는 단계 S417을 반복적으로 수행할 수 있다.
일 실시예에 따르면, IoT 디바이스는, 전송 오류 카운터 값이 기준값 이상인 경우, 네트워크 복구 메시지를 전송할 수 있다. 일 실시 예에 따르면, IoT 디바이스는, 전송 오류 카운터 값에 기반하여 네트워크 복구 메시지가 전송되면, 센서 데이터의 전송을 우회하고, 센서 데이터를 메모리에 저장할 수 있다. 일 실시예에 따르면, IoT 디바이스는, 전송 오류 카운터 값에 기반하여 네트워크 복구 메시지가 전송되더라도, 센서 데이터의 전송 동작을 수행할 수 있다.
상술한 바와 같이, IoT 디바이스는, 센서 데이터의 전송 오류가 발생한 경우, 리셋 동작을 수행함으로써, IoT 디바이스 운용자의 도움 없이, 오류를 복구할 수 있다. 또한, IoT 디바이스는, 센서 데이터의 전송 오류가 발생한 경우, 센서 데이터를 메모리에 저장함으로써, IoT 디바이스의 네트워크 환경이 불안정한 상황에서도, IoT 운용자에게 센서 데이터를 제공할 수 있다.
도 7은 본 발명의 일 실시예에 따른 IoT 디바이스의 구성도이다.
도 7에 도시된 바와 같이, 본 발명의 일 실시예에 따른 IoT 디바이스(200)는 센서 모듈(210), 전원 모듈(220), 펌웨어 모듈(230), 네트워크 모듈(240), 메모리(250), 및 프로세서(260)를 포함할 수 있다. 그러나 도시된 구성요소 모두가 필수 구성요소인 것은 아니다. 예를 들어, IoT 디바이스(200)는 도시된 구성요소보다 많은 구성요소로 구현될 수 있고, 그보다 적은 구성요소로 구현될 수 있다.
일 실시예에 따르면, 센서 모듈(210)은 IoT 디바이스에 부착될 수 있다. 센서 모듈(210)은 기 설정된 주기마다, IoT 디바이스가 온(on) 상태인 동안, 또는 비주기적으로 센싱 데이터를 획득할 수 있다.
일 실시예에 따르면, 전원 모듈(220)은 IoT 디바이스에 전원을 공급할 수 있다.
일 실시예에 따르면, 펌웨어 모듈(230)은 IoT 디바이스의 동작을 실행시키기 위한 적어도 하나의 프로그램(또는 마이크로프로그램)을 포함할 수 있다.
일 실시예에 따르면, 네트워크 모듈(240)은 데이터 통신을 위한 네트워크 연결을 수립할 수 있다. 일 실시예에 따르면, 네트워크 모듈(240)은 네트워크 연결 없이, 데이터 통신을 수행하기 위한 브로드캐스팅을 지원할 수 있다.
일 실시예에 따르면, 메모리(250)는 하나 이상의 프로그램을 저장할 수 있다.
일 실시예에 따르면, 프로세서(260)는 메모리(250)에 저장된 하나 이상의 프로그램을 실행할 수 있다. 프로세서(260)는 IoT 디바이스 내부의 구성 요소들(예: 센서 모듈(210), 전원 모듈(220), 펌웨어 모듈(230), 및 네트워크 모듈(240)) 중에서 적어도 하나의 모듈의 상태를 모니터링할 수 있다. 프로세서(260)는 IoT 디바이스 내부의 구성 요소들 중 적어도 하나의 상태가 제2 상태(예: 비정상 상태)임을 식별한 경우, 자가복구 기능(예: 소프트웨어 리셋 및/또는 하드웨어 리셋)을 수행할 수 있다.
일 실시예에 따르면, 프로세서(260)는 자가복구 기능 수행 후에도 IoT 디바이스의 상태가 제2 상태인 경우, IoT 디바이스의 동작 모드를 일반 모드에서 에너지 절약 모드로 전환할 수 있다. 예를 들어, 프로세서(260)는 데이터 전송 속도, 센서의 측정 주기, 및 데이터의 전송 주기 중 적어도 일부를 변경시킴으로써, IoT 디바이스의 소비 전력을 낮출 수 있다.
일 실시예에 따르면, 프로세서(260)는 생성된 점검 이벤트에 따라 IoT 디바이스의 센서 상태, 전원 상태, 소프트웨어 상태 및 네트워크 상태 중 적어도 하나의 상태를 자가 점검할 수 있다.
일 실시예들 따르면, 프로세서(260)는 자가 점검 결과에 따라 센서 이상 이벤트 루틴, 저전압 이벤트 루틴, 셀프 리셋 이벤트 루틴 및 네트워크의 소프트웨어 및 하드웨어 리셋 이벤트 루틴 중 어느 하나의 이벤트 루틴을 수행할 수 있다.
한편, 프로세서(260)에 의해 실행될 때, 상기 프로세서(260)로 하여금 방법을 실행하게 하는 명령어들을 저장하기 위한 비일시적 컴퓨터 판독가능 저장 매체로서, 상기 방법은: IoT 디바이스 내부의 헬스 인덱스(또는 상태)를 모니터링하는 단계; 상기 헬스 인덱스의 모니터링 결과, 상기 IoT 디바이스에서 점검 상황이 발생하면 상기 발생된 점검 상황에 따른 점검 이벤트를 생성하는 단계; 상기 생성된 점검 이벤트에 따라 상기 IoT 디바이스를 자가 점검하는 단계; 및 상기 자가 점검 결과에 따라 상기 IoT 디바이스가 이상 상태로 판단되면 상기 IoT 디바이스를 자가복구하는 단계를 포함하는, 비일시적 컴퓨터 판독 가능한 저장 매체가 제공될 수 있다.
상술한 바와 같은, IoT 디바이스는, 센서, 진단 회로, 메모리, 상기 센서, 상기 진단 회로, 및 상기 메모리와 작동적으로 연결된(operatively coupled to) 프로세서를 포함하고, 상기 프로세서는, 상기 센서 내의 자가 점검 기능이 이용가능한지 여부를 식별하기 위한 테스트를 수행하고, 상기 자가 점검 기능이 이용 불가능함을 식별한 것에 응답하여, 상기 센서에 대한 테스트를 수행하기 위한 진단 회로를 구동하고, 상기 진단 회로를 이용한 점검을 위해, 스케줄링을 수행하고, 상기 스케줄링에 기반하여 상기 진단 회로를 통해 상기 센서에 대한 점검을 수행하도록 구성될 수 있다.
일 실시예에 따르면, 상기 프로세서는, 상기 IoT 디바이스가 상기 진단 회로에게 테스트 요청 신호를 송신하는 타이밍, 상기 센서가 상기 진단 회로로부터 테스트 신호를 수신하는 타이밍, 상기 센서가 상기 테스트 신호에 대한 응답 신호를 상기 진단 회로에게 송신하는 타이밍, 및 상기 IoT 디바이스가 테스트 점검 결과를 지시하는 신호를 상기 진단 회로로부터 수신하는 타이밍을 할당함으로써, 상기 스케줄링을 수행하도록 구성될 수 있다.
일 실시예에 따르면, 상기 프로세서는, 상기 자가 점검 기능이 이용 가능함을 식별한 것에 응답하여, 상기 자가 점검 기능을 이용하여 상기 센서에 대한 점검을 수행하도록 더 구성될 수 있다.
일 실시예에 따르면, 상기 프로세서는, 상기 센서에 대한 점검 결과, 상기 센서의 상태가 비정상 상태임을 식별한 것에 응답하여, 상기 센서에 대한 리셋을 수행하도록 더 구성될 수 있다.
일 실시예에 따르면, 상기 프로세서는, 센서 데이터의 전송 오류의 발생을 식별하고, 상기 IoT 디바이스에 설치된 적어도 하나의 프로그램에 대한 초기화를 수행하는 소프트웨어 리셋을 수행하도록 더 구성될 수 있다.
일 실시예에 따르면, 상기 프로세서는, 상기 소프트웨어 리셋을 수행한 이후, 센서 데이터의 전송 오류의 발생을 식별하고, 상기 IoT 디바이스의 프로세서의 상태를 식별하고, 상기 프로세서의 상태가 비정상 상태인 경우, 상기 프로세서에 대한 하드웨어 리셋을 수행하도록 더 구성될 수 있다.
일 실시예에 따르면, 상기 프로세서는, 상기 프로세서의 상태가 정상 상태인 경우, 상기 IoT 디바이스에 대한 하드웨어 리셋을 수행하도록 더 구성될 수 있다.
일 실시예에 따르면, 상기 프로세서는, 상기 프로세서의 상태가 정상 상태인 경우, 상기 IoT 디바이스의 메모리를 제외한 나머지 구성들에 대한 하드웨어 리셋을 수행하도록 더 구성될 수 있다.
일 실시예에 따르면, 상기 프로세서는, 상기 IoT 디바이스의 제1 전지의 전압이 제1 전압 미만임을 식별한 것에 응답하여, 상기 IoT 디바이스의 제2 전지의 전압을 측정하고, 상기 제2 전지의 전압이 제2 전압 미만임을 식별한 것에 응답하여, 상기 IoT 디바이스의 전송 속도 및 상기 센서의 측정 주기 중 적어도 하나를 변경하도록 더 구성될 수 있다.
일 실시예에 따르면, 상기 프로세서는, 상기 전송 속도 및 상기 센서의 측정 주기 중 적어도 하나를 변경한 이후, 상기 IoT 디바이스의 메모리의 잔여 용량이 기준 용량 미만임을 식별한 것에 응답하여, 상기 IoT 디바이스의 전송 주기를 변경하고, 상기 센서의 측정값의 저장을 우회(bypass)하도록 더 구성될 수 있다.
상술한 바와 같은, IoT 디바이스의 자가복구 방법은, IoT 디바이스에 포함된 센서 내의 자가 점검 기능이 이용가능한지 여부를 식별하기 위한 테스트를 수행하는 동작과, 상기 자가 점검 기능이 이용 불가능함을 식별한 것에 응답하여, 상기 센서에 대한 테스트를 수행하기 위한 진단 회로를 구동하는 동작과, 상기 진단 회로를 이용한 자가 점검을 위한 스케줄링을 수행하는 동작과, 상기 스케줄링에 기반하여 상기 진단 회로를 통해 상기 센서에 대한 점검을 수행하는 동작을 포함할 수 있다.
일 실시예에 따르면, 상기 스케줄링을 수행하는 동작은, 상기 IoT 디바이스가 상기 진단 회로에게 테스트 요청 신호를 송신하는 타이밍, 상기 센서가 상기 진단 회로로부터 테스트 신호를 수신하는 타이밍, 상기 센서가 상기 테스트 신호에 대한 응답 신호를 상기 진단 회로에게 송신하는 타이밍, 및 상기 IoT 디바이스가 테스트 점검 결과를 지시하는 신호를 상기 진단 회로로부터 수신하는 타이밍을 할당하는 동작을 포함할 수 있다.
일 실시예에 따르면, 상기 동작 방법은, 상기 자가 점검 기능이 이용 가능함을 식별한 것에 응답하여, 상기 자가 점검 기능을 이용하여 상기 센서에 대한 점검을 수행하는 동작을 더 포함할 수 있다.
일 실시예에 따르면, 상기 동작 방법은, 상기 센서에 대한 점검 결과, 상기 센서의 상태가 비정상 상태임을 식별한 것에 응답하여, 상기 센서에 대한 리셋을 수행하는 동작을 더 포함할 수 있다.
일 실시예에 따르면, 상기 동작 방법은, 센서 데이터의 전송 오류의 발생을 식별하는 동작 및 상기 IoT 디바이스에 설치된 적어도 하나의 프로그램에 대한 초기화를 수행하는 소프트웨어 리셋을 수행하는 동작을 더 포함할 수 있다.
일 실시예에 따르면, 상기 동작 방법은, 상기 소프트웨어 리셋을 수행한 이후, 센서 데이터의 전송 오류의 발생을 식별하는 동작과, 상기 IoT 디바이스의 프로세서의 상태를 식별하는 동작, 및 상기 프로세서의 상태가 비정상 상태인 경우, 상기 프로세서에 대한 하드웨어 리셋을 수행하는 동작을 더 포함할 수 있다.
일 실시예에 따르면, 상기 동작 방법은, 상기 프로세서의 상태가 정상 상태인 경우, 상기 IoT 디바이스에 대한 하드웨어 리셋을 수행하는 동작을 더 포함할 수 있다.
일 실시예에 따르면, 상기 동작 방법은, 상기 프로세서의 상태가 정상 상태인 경우, 상기 IoT 디바이스의 메모리를 제외한 나머지 구성들에 대한 하드웨어 리셋을 수행하는 동작을 더 포함할 수 있다.
일 실시예에 따르면, 상기 동작 방법은, 상기 IoT 디바이스의 제1 전지의 전압이 제1 전압 미만임을 식별한 것에 응답하여, 상기 IoT 디바이스의 제2 전지의 전압을 측정하는 동작 및 상기 제2 전지의 전압이 제2 전압 미만임을 식별한 것에 응답하여, 상기 IoT 디바이스의 전송 속도 및 상기 센서의 측정 주기 중 적어도 하나를 변경하는 동작을 더 포함할 수 있다.
일 실시예에 따르면, 상기 동작 방법은, 상기 전송 속도 및 상기 센서의 측정 주기 중 적어도 하나를 변경한 이후, 상기 IoT 디바이스의 메모리의 잔여 용량이 기준 용량 미만임을 식별한 것에 응답하여, 상기 IoT 디바이스의 전송 주기를 변경하고, 상기 센서의 측정값의 저장을 우회(bypass)하는 동작을 더 포함할 수 있다.
한편, 본 발명의 일 실시예에 따르면, 이상에서 설명된 다양한 실시예들은 기기(machine)(예: 컴퓨터)로 읽을 수 있는 저장 매체(machine-readable storage media)에 저장된 명령어를 포함하는 소프트웨어로 구현될 수 있다. 기기는, 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 동작이 가능한 장치로서, 개시된 실시예들에 따른 전자 장치(예: 전자 장치(A))를 포함할 수 있다. 명령이 프로세서에 의해 실행될 경우, 프로세서가 직접, 또는 프로세서의 제어 하에 다른 구성요소들을 이용하여 명령에 해당하는 기능을 수행할 수 있다. 명령은 컴파일러 또는 인터프리터에 의해 생성 또는 실행되는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장매체가 신호(signal)를 포함하지 않으며 실재(tangible)한다는 것을 의미할 뿐 데이터가 저장매체에 반영구적 또는 임시적으로 저장됨을 구분하지 않는다.
또한, 본 발명의 일 실시예에 따르면, 이상에서 설명된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 온라인으로 배포될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
또한, 본 발명의 일 실시예에 따르면, 이상에서 설명된 다양한 실시예들은 소프트웨어(software), 하드웨어(hardware) 또는 이들의 조합을 이용하여 컴퓨터(computer) 또는 이와 유사한 장치로 읽을 수 있는 기록 매체 내에서 구현될 수 있다. 일부 경우에 있어 본 명세서에서 설명되는 실시예들이 프로세서 자체로 구현될 수 있다. 소프트웨어적인 구현에 의하면, 본 명세서에서 설명되는 절차 및 기능과 같은 실시예들은 별도의 소프트웨어 모듈들로 구현될 수 있다. 소프트웨어 모듈들 각각은 본 명세서에서 설명되는 하나 이상의 기능 및 동작을 수행할 수 있다.
한편, 상술한 다양한 실시예들에 따른 기기의 프로세싱 동작을 수행하기 위한 컴퓨터 명령어(computer instructions)는 비일시적 컴퓨터 판독 가능 매체(non-transitory computer-readable medium)에 저장될 수 있다. 이러한 비일시적 컴퓨터 판독 가능 매체에 저장된 컴퓨터 명령어는 특정 기기의 프로세서에 의해 실행되었을 때 상술한 다양한 실시예에 따른 기기에서의 처리 동작을 특정 기기가 수행하도록 한다. 비일시적 컴퓨터 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 비일시적 컴퓨터 판독 가능 매체의 구체적인 예로는, CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등이 있을 수 있다.
또한, 상술한 다양한 실시예들에 따른 구성 요소(예: 모듈 또는 프로그램) 각각은 단수 또는 복수의 개체로 구성될 수 있으며, 전술한 해당 서브 구성 요소들 중 일부 서브 구성 요소가 생략되거나, 또는 다른 서브 구성 요소가 다양한 실시예에 더 포함될 수 있다. 대체적으로 또는 추가적으로, 일부 구성 요소들(예: 모듈 또는 프로그램)은 하나의 개체로 통합되어, 통합되기 이전의 각각의 해당 구성 요소에 의해 수행되는 기능을 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따른, 모듈, 프로그램 또는 다른 구성 요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 개시에 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.

Claims (10)

  1. IoT 디바이스에 있어서,
    센서;
    진단 회로;
    메모리;
    상기 센서, 상기 진단 회로, 및 상기 메모리와 작동적으로 연결된(operatively coupled to) 프로세서를 포함하고, 상기 프로세서는,
    상기 센서 내의 자가 점검 기능이 이용가능한지 여부를 식별하기 위한 테스트를 수행하고,
    상기 자가 점검 기능이 이용 불가능함을 식별한 것에 응답하여, 상기 센서에 대한 테스트를 수행하기 위한 진단 회로를 구동하고,
    상기 진단 회로를 이용한 점검을 위해, 스케줄링을 수행하고,
    상기 스케줄링에 기반하여 상기 진단 회로를 통해 상기 센서에 대한 점검을 수행하도록 구성된 전자 장치.
  2. 제1항에 있어서,
    상기 프로세서는, 상기 IoT 디바이스가 상기 진단 회로에게 테스트 요청 신호를 송신하는 타이밍, 상기 센서가 상기 진단 회로로부터 테스트 신호를 수신하는 타이밍, 상기 센서가 상기 테스트 신호에 대한 응답 신호를 상기 진단 회로에게 송신하는 타이밍, 및 상기 IoT 디바이스가 테스트 점검 결과를 지시하는 신호를 상기 진단 회로로부터 수신하는 타이밍을 할당함으로써, 상기 스케줄링을 수행하도록 구성된 전자 장치.
  3. 제1항에 있어서,
    상기 프로세서는, 상기 자가 점검 기능이 이용 가능함을 식별한 것에 응답하여, 상기 자가 점검 기능을 이용하여 상기 센서에 대한 점검을 수행하도록 더 구성된 전자 장치.
  4. 제1항에 있어서,
    상기 프로세서는, 상기 센서에 대한 점검 결과, 상기 센서의 상태가 비정상 상태임을 식별한 것에 응답하여, 상기 센서에 대한 리셋을 수행하도록 더 구성된 전자 장치.
  5. 제1항에 있어서,
    상기 프로세서는,
    센서 데이터의 전송 오류의 발생을 식별하고,
    상기 IoT 디바이스에 설치된 적어도 하나의 프로그램에 대한 초기화를 수행하는 소프트웨어 리셋을 수행하도록 더 구성된 전자 장치.
  6. 제5항에 있어서,
    상기 프로세서는,
    상기 소프트웨어 리셋을 수행한 이후, 센서 데이터의 전송 오류의 발생을 식별하고,
    상기 IoT 디바이스의 프로세서의 상태를 식별하고,
    상기 프로세서의 상태가 비정상 상태인 경우, 상기 프로세서에 대한 하드웨어 리셋을 수행하도록 더 구성된 전자 장치.
  7. 제6항에 있어서,
    상기 프로세서는, 상기 프로세서의 상태가 정상 상태인 경우, 상기 IoT 디바이스에 대한 하드웨어 리셋을 수행하도록 더 구성된 전자 장치.
  8. 제6항에 있어서,
    상기 프로세서는, 상기 프로세서의 상태가 정상 상태인 경우, 상기 IoT 디바이스의 메모리를 제외한 나머지 구성들에 대한 하드웨어 리셋을 수행하도록 더 구성된 전자 장치.
  9. 제1항에 있어서,
    상기 프로세서는,
    상기 IoT 디바이스의 제1 전지의 전압이 제1 전압 미만임을 식별한 것에 응답하여, 상기 IoT 디바이스의 제2 전지의 전압을 측정하고,
    상기 제2 전지의 전압이 제2 전압 미만임을 식별한 것에 응답하여, 상기 IoT 디바이스의 전송 속도 및 상기 센서의 측정 주기 중 적어도 하나를 변경하도록 더 구성된 전자 장치.
  10. 제9항에 있어서,
    상기 프로세서는, 상기 전송 속도 및 상기 센서의 측정 주기 중 적어도 하나를 변경한 이후, 상기 IoT 디바이스의 메모리의 잔여 용량이 기준 용량 미만임을 식별한 것에 응답하여, 상기 IoT 디바이스의 전송 주기를 변경하고, 상기 센서의 측정값의 저장을 우회(bypass)하도록 더 구성된 전자 장치.
KR1020230197107A 2020-12-31 2023-12-29 IoT 디바이스의 자가 복구 방법 및 그 전자 장치 KR20240008288A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR1020200189910 2020-12-31
KR20200189910 2020-12-31
KR1020210167392A KR20220097226A (ko) 2020-12-31 2021-11-29 IoT 디바이스의 자가 복구 방법 및 그 전자 장치

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020210167392A Division KR20220097226A (ko) 2020-12-31 2021-11-29 IoT 디바이스의 자가 복구 방법 및 그 전자 장치

Publications (1)

Publication Number Publication Date
KR20240008288A true KR20240008288A (ko) 2024-01-18

Family

ID=82398928

Family Applications (8)

Application Number Title Priority Date Filing Date
KR1020210167392A KR20220097226A (ko) 2020-12-31 2021-11-29 IoT 디바이스의 자가 복구 방법 및 그 전자 장치
KR1020230197109A KR20240008290A (ko) 2020-12-31 2023-12-29 IoT 디바이스의 자가 복구 방법 및 그 전자 장치
KR1020230197108A KR20240008289A (ko) 2020-12-31 2023-12-29 IoT 디바이스의 자가 복구 방법 및 그 전자 장치
KR1020230197111A KR20240008292A (ko) 2020-12-31 2023-12-29 IoT 디바이스의 자가 복구 방법 및 그 전자 장치
KR1020230197107A KR20240008288A (ko) 2020-12-31 2023-12-29 IoT 디바이스의 자가 복구 방법 및 그 전자 장치
KR1020230197112A KR20240007640A (ko) 2020-12-31 2023-12-29 IoT 디바이스의 자가 복구 방법 및 그 전자 장치
KR1020230197110A KR20240008291A (ko) 2020-12-31 2023-12-29 IoT 디바이스의 자가 복구 방법 및 그 전자 장치
KR1020230197106A KR20240008287A (ko) 2020-12-31 2023-12-29 IoT 디바이스의 자가 복구 방법 및 그 전자 장치

Family Applications Before (4)

Application Number Title Priority Date Filing Date
KR1020210167392A KR20220097226A (ko) 2020-12-31 2021-11-29 IoT 디바이스의 자가 복구 방법 및 그 전자 장치
KR1020230197109A KR20240008290A (ko) 2020-12-31 2023-12-29 IoT 디바이스의 자가 복구 방법 및 그 전자 장치
KR1020230197108A KR20240008289A (ko) 2020-12-31 2023-12-29 IoT 디바이스의 자가 복구 방법 및 그 전자 장치
KR1020230197111A KR20240008292A (ko) 2020-12-31 2023-12-29 IoT 디바이스의 자가 복구 방법 및 그 전자 장치

Family Applications After (3)

Application Number Title Priority Date Filing Date
KR1020230197112A KR20240007640A (ko) 2020-12-31 2023-12-29 IoT 디바이스의 자가 복구 방법 및 그 전자 장치
KR1020230197110A KR20240008291A (ko) 2020-12-31 2023-12-29 IoT 디바이스의 자가 복구 방법 및 그 전자 장치
KR1020230197106A KR20240008287A (ko) 2020-12-31 2023-12-29 IoT 디바이스의 자가 복구 방법 및 그 전자 장치

Country Status (1)

Country Link
KR (8) KR20220097226A (ko)

Also Published As

Publication number Publication date
KR20240008291A (ko) 2024-01-18
KR20240008292A (ko) 2024-01-18
KR20240008287A (ko) 2024-01-18
KR20220097226A (ko) 2022-07-07
KR20240008289A (ko) 2024-01-18
KR20240007640A (ko) 2024-01-16
KR20240008290A (ko) 2024-01-18

Similar Documents

Publication Publication Date Title
US20190205233A1 (en) Fault injection testing apparatus and method
WO2017125014A1 (zh) 硬盘监控方法及装置
EP2615552A1 (en) System testing method
US20110040916A1 (en) System reconfiguration of expansion cards
JP2004537787A (ja) コンピュータ・システムにおける電力障害を解析する方法および装置
US20140068350A1 (en) Self-checking system and method using same
JP2007323193A (ja) 性能負荷異常検出システム、性能負荷異常検出方法、及びプログラム
CN116340076B (zh) 硬盘性能测试方法、装置及介质
CN111048139A (zh) 一种存储介质检测方法、装置、设备及可读存储介质
CN112395122A (zh) 闪存控制器及闪存控制器的方法
KR20240008289A (ko) IoT 디바이스의 자가 복구 방법 및 그 전자 장치
US20100256944A1 (en) Method for testing sensor function and computer program product thereof
Mazouz et al. Statistical validation methodology of CPU power probes
US9575860B2 (en) Apparatus and a method for memory testing by a programmable circuit in a safety critical system
CN103975310A (zh) 用于在复位之前保存条件以用于复位后评估的方法和设备
US10289467B2 (en) Error coordination message for a blade device having a logical processor in another system firmware domain
CN110058979A (zh) 一种温度读取失败故障的监控方法、bmc及存储介质
JP2019213142A (ja) 情報処理装置、プロセッサ、及び光ファイバー検査方法
US11914703B2 (en) Method and data processing system for detecting a malicious component on an integrated circuit
CN114902059A (zh) 调试状态机触发的扩展性能监控计数器
CN108415788B (zh) 用于对无响应处理电路作出响应的数据处理设备和方法
JP2012168784A (ja) 消費電力測定装置、消費電力測定システム、消費電力測定方法、及びプログラム
KR100877326B1 (ko) Jtag 인터페이스를 이용한 전력 측정 시스템 및 그방법
CN116414611A (zh) 基于冗余存储的开机自检设备故障定位系统
CN117149492A (zh) 一种服务器故障检测方法、装置、设备及计算机存储介质

Legal Events

Date Code Title Description
A107 Divisional application of patent