KR20210041904A - 네트워크 연결을 관리하는 전자 장치 및 그의 제어 방법 - Google Patents

네트워크 연결을 관리하는 전자 장치 및 그의 제어 방법 Download PDF

Info

Publication number
KR20210041904A
KR20210041904A KR1020190124702A KR20190124702A KR20210041904A KR 20210041904 A KR20210041904 A KR 20210041904A KR 1020190124702 A KR1020190124702 A KR 1020190124702A KR 20190124702 A KR20190124702 A KR 20190124702A KR 20210041904 A KR20210041904 A KR 20210041904A
Authority
KR
South Korea
Prior art keywords
information
devices
electronic device
predicted
artificial intelligence
Prior art date
Application number
KR1020190124702A
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 삼성전자주식회사
Priority to KR1020190124702A priority Critical patent/KR20210041904A/ko
Priority to US16/806,098 priority patent/US11606830B2/en
Priority to PCT/KR2020/004907 priority patent/WO2021071037A1/en
Priority to EP20875289.9A priority patent/EP3981115A4/en
Publication of KR20210041904A publication Critical patent/KR20210041904A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W16/00Network planning, e.g. coverage or traffic planning tools; Network deployment, e.g. resource partitioning or cells structures
    • H04W16/22Traffic simulation tools or models
    • H04W16/225Traffic simulation tools or models for indoor or short range network
    • 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
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • 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/0631Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis
    • H04L41/064Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis involving time analysis
    • 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
    • H04L41/0668Management of faults, events, alarms or notifications using network fault recovery by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure
    • 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/14Network analysis or design
    • H04L41/147Network analysis or design for predicting network behaviour
    • 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/14Network analysis or design
    • H04L41/149Network analysis or design for prediction of maintenance
    • 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/16Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using machine learning or artificial intelligence
    • 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/0811Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • H04W76/14Direct-mode setup
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • H04W76/19Connection re-establishment
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices
    • H04W88/04Terminal devices adapted for relaying to or from another terminal or user

Abstract

본 개시에서는 전자 장치 및 그 제어 방법이 제공된다. 본 개시의 전자 장치는 통신부; 전자 장치와 네트워크 연결이 끊어질 기기를 예측하도록 학습된 인공지능 모델이 저장된 메모리; 및 전자 장치와 네트워크 연결된 복수의 기기 중 적어도 하나로부터 통신부를 통해 수신된 정보를 인공지능 모델에 입력하고, 인공지능 모델의 출력에 기초하여 복수의 기기 중 하나의 네트워크 연결이 끊어질 것으로 예측되면, 복수의 기기 중 다른 하나를 통해 예측된 기기의 네트워크 연결이 유지되도록 하는 프로세서;를 포함한다.
본 개시의 전자 장치는 규칙 기반 모델 또는, 기계학습, 신경망 또는 딥러닝 알고리즘 중 적어도 하나에 따라 학습된 인공지능 모델을 이용할 수 있다.

Description

네트워크 연결을 관리하는 전자 장치 및 그의 제어 방법 {ELECTRONIC APPARATUS FOR MANAGING NETWORK CONNECTIONS AND CONTROL METHOD THEREOF}
본 개시는 네트워크 연결을 관리하는 전자 장치 및 그의 제어 방법에 관한 것으로, 보다 상세하게는 학습된 정보에 기반한 네트워크 연결을 관리하는 전자 장치 및 그의 제어 방법에 관한 것이다.
최근, 전자 기술의 발달에 따라, 통신 기능이 내장된 기기들이 급증하고 있다. 이에 따라, 네트워크 연결된 다양한 기기들의 정보를 사용자에게 제공하거나, 네트워크 연결된 기기를 사용자가 원격으로 제어하는 것이 가능해졌다.
다만, 기기의 환경(예: 위치, 동작 상황, 외부 환경 등)에 따라 기기의 네트워크 연결이 불안정한 경우, 해당 기기에 대한 정보를 사용자에게 제공하는 것이 불가능하거나, 해당 기기에 대한 제어가 불가능하다는 문제가 대두되고 있다.
본 개시는 상술한 필요성에 의해 안출된 것으로, 본 개시의 목적은 네트워크 연결을 관리하는 전자 장치 및 그의 제어 방법을 제공함에 있다.
상기 목적을 달성하기 위한, 본 개시의 일 실시 예에 따른 전자 장치는 통신부, 전자 장치와 네트워크 연결이 끊어질 기기를 예측하도록 학습된 제1 인공지능 모델이 저장된 메모리 및 전자 장치와 네트워크 연결된 복수의 기기 중 적어도 하나로부터 통신부를 통해 수신된 정보를 제1 인공지능 모델에 입력하고, 제1 인공지능 모델의 출력에 기초하여 복수의 기기 중 하나의 네트워크 연결이 끊어질 것으로 예측되면, 복수의 기기 중 다른 하나를 통해 예측된 기기의 네트워크 연결이 유지되도록 하는 프로세서를 포함한다.
여기에서, 프로세서는 예측된 기기에서 획득된 정보를 다른 하나의 기기로 전송하도록 하는 제어 신호를 통신부를 통해 예측된 기기로 전송하고, 예측된 기기로부터 수신된 정보를 전자 장치로 전송하도록 하는 제어 신호를 통신부를 통해 다른 하나의 기기로 전송할 수 있다.
여기에서, 프로세서는 예측된 기기와 전자 장치 간 네트워크 연결이 끊어지면, 예측된 기기에서 획득된 정보를 통신부를 통해 다른 하나의 기기로부터 수신할 수 있다.
한편, 제1 인공지능 모델은 전자 장치와 네트워크 연결된 복수의 기기 중 전자 장치와 네트워크 연결이 끊어진 기기의 정보 및 네트워크 연결이 끊어진 시점을 포함하는 시간 동안에서의 복수의 기기의 정보를 포함하는 학습 데이터에 기초하여 학습된 모델일 수 있다.
한편, 메모리는 전자 장치와 네트워크 연결된 복수의 기기 중 다른 하나의 기기를 식별하도록 학습된 제2 인공지능 모델을 더 저장할 수 있으며, 프로세서는 수신된 각 기기의 정보를 제2 인공지능 모델에 입력하고, 제2 인공지능 모델의 출력에 기초하여 다른 하나의 기기를 식별할 수 있다.
여기에서, 제2 인공지능 모델은 식별된 기기와 복수의 기기 중 식별된 기기 주변에 위치하는 적어도 하나의 기기 간의 네트워크 연결을 위한 통신 상태에 대한 정보 및 네트워크 연결이 되는 시점을 포함하는 시간 동안 획득된 복수의 기기의 정보를 포함하는 학습 데이터에 기초하여 학습된 모델일 수 있다.
한편, 메모리는 복수의 기기 각각의 동작 진행 상태를 예측하도록 학습된 제3 인공지능 모델을 더 저장할 수 있으며, 프로세서는 다른 하나의 기기가 식별되지 않는 경우, 예측된 기기의 현재까지의 동작 진행 상태와 관련된 정보를 제3 인공지능 모델에 입력하여 예측된 기기의 이후 동작 진행 상태에 대한 예측 정보를 획득하고, 획득된 예측 정보를 복수의 기기 중 적어도 하나로 전송하도록 통신부를 제어할 수 있다.
여기에서, 프로세서는 예측된 기기와 전자 장치 간 네트워크 연결이 끊어진 후 네트워크 연결이 재개되면, 네트워크 연결이 끊어진 시간 동안 예측된 기기의 동작 진행 상태와 관련된 정보를 통신부를 통해 예측된 기기로부터 수신하고, 수신된 정보에 기초하여 제3 인공지능 모델을 학습할 수 있다.
한편, 복수의 전자 장치와 전자 장치 간의 통신 방식은 예측된 기기와 다른 하나의 기기 간의 통신 방식과 상이할 수 있다.
한편, 복수의 기기 각각의 정보는 기기의 동작 진행 상태, 기기의 네트워크 연결과 관련된 정보 및 기기의 주변 환경과 관련된 정보 중 적어도 하나를 포함할 수 있다.
본 개시의 일 실시 예에 따른 전자 장치의 제어 방법은 전자 장치와 네트워크 연결된 복수의 기기 중 적어도 하나로부터 수신된 정보를 전자 장치와 네트워크 연결이 끊어질 기기를 예측하도록 학습된 제1 인공지능 모델에 입력하는 단계 및 제1 인공지능 모델의 출력에 기초하여 복수의 기기 중 하나의 네트워크 연결이 끊어질 것으로 예측되면, 복수의 기기 중 다른 하나를 통해 예측된 기기의 네트워크 연결이 유지되도록 예측된 기기를 제어하는 단계를 포함한다.
여기에서, 제어하는 단계는 예측된 기기에서 획득된 정보를 다른 하나의 기기로 전송하도록 하는 제어 신호를 예측된 기기로 전송하고, 예측된 기기로부터 수신된 정보를 전자 장치로 전송하도록 하는 제어 신호를 다른 하나의 기기로 전송하는 것을 포함할 수 있다.
여기에서, 제어하는 단계는, 예측된 기기와 전자 장치 간 네트워크 연결이 끊어지면, 예측된 기기에서 획득된 정보를 다른 하나의 기기로부터 수신하는 것을 포함할 수 있다.
한편, 제1 인공지능 모델은 전자 장치와 네트워크 연결된 복수의 기기 중 전자 장치와 네트워크 연결이 끊어진 기기의 정보 및 네트워크 연결이 끊어진 시점을 포함하는 시간 동안에서의 복수의 기기의 정보를 포함하는 학습 데이터에 기초하여 학습된 모델일 수 있다.
한편, 제어하는 단계는 수신된 각 기기의 정보를 전자 장치와 네트워크 연결된 복수의 기기 중 다른 하나의 기기를 식별하도록 학습된 제2 인공지능 모델에 입력하는 단계 및 제2 인공지능 모델의 출력에 기초하여 다른 하나의 기기를 식별하는 단계를 포함할 수 있다.
여기에서, 제2 인공지능 모델은 식별된 기기와 복수의 기기 중 식별된 기기 주변에 위치하는 적어도 하나의 기기 간의 네트워크 연결을 위한 통신 상태에 대한 정보 및 네트워크 연결이 되는 시점을 포함하는 시간 동안 획득된 복수의 기기의 정보를 포함하는 학습 데이터에 기초하여 학습된 모델일 수 있다.
한편, 본 개시의 제어 방법은 다른 하나의 기기가 식별되지 않는 경우, 예측된 기기의 현재까지의 동작 진행 상태와 관련된 정보를 복수의 기기 각각의 동작 진행 상태를 예측하도록 학습된 제3 인공지능 모델에 입력하여 예측된 기기의 이후 동작 진행 상태에 대한 예측 정보를 획득하는 단계 및 획득된 예측 정보를 복수의 기기 중 적어도 하나로 전송하는 단계를 더 포함할 수 있다.
여기에서, 본 개시의 제어 방법은 예측된 기기와 전자 장치 간 네트워크 연결이 끊어진 후 네트워크 연결이 재개되면, 네트워크 연결이 끊어진 시간 동안 예측된 기기의 동작 진행 상태와 관련된 정보를 예측된 기기로부터 수신하는 단계 및 수신된 정보에 기초하여 제3 인공지능 모델을 학습하는 단계를 더 포함할 수 있다.
한편, 복수의 전자 장치와 전자 장치 간의 통신 방식은 예측된 기기와 다른 하나의 기기 간의 통신 방식과 상이할 수 있다.
한편, 복수의 기기 각각의 정보는 기기의 동작 진행 상태, 기기의 네트워크 연결과 관련된 정보 및 기기의 주변 환경과 관련된 정보 중 적어도 하나를 포함할 수 있다.
본 개시에 따른 전자 장치 및 전자 장치의 제어 방법은, 네트워크 연결이 끊어질 기기의 네트워크 연결이 유지되도록 네트워크 연결을 자동으로 관리할 수 있다.
본 개시에 따른 전자 장치 및 전자 장치의 제어 방법은, 네트워크 연결이 끊어진 기기에 대한 예측 정보를 제공할 수 있다. 이에 따라, 네트워크 연결이 끊어진 것과 무관하게 기기에 대한 정보를 심리스(seamless)하게 사용자에게 제공할 수 있다는 점에서, 사용자의 편의성을 향상시킬 수 있다.
도 1은 본 개시의 일 실시 예에 따른 네트워크 시스템을 설명하기 위한 도면이다.
도 2a는 본 개시의 일 실시 예에 따른 전자 장치를 설명하기 위한 도면이다.
도 2b는 본 개시의 일 실시 예에 따른 전자 장치를 설명하기 위한 도면이다.
도 3은 본 개시의 일 실시 예에 따른 전자 장치의 하드웨어 구성을 설명하기 위한 블록도이다.
도 4a는 본 개시의 일 실시 예에 따른 전자 장치의 하드웨어에 결합된 소프트웨어 구성을 설명하기 위한 블록도이다.
도 4b는 본 개시의 일 실시 예에 따른 전자 장치의 동작을 설명하기 위한 순서도이다.
도 4c는 본 개시의 일 실시 예에 따른 제1 인공지능 모델을 학습시키는 방법을 설명하기 위한 도면이다.
도 5a는 본 개시의 일 실시 예에 따른 전자 장치의 하드웨어에 결합된 소프트웨어 구성을 설명하기 위한 블록도이다.
도 5b는 본 개시의 일 실시 예에 따른 전자 장치의 동작을 설명하기 위한 순서도이다.
도 5c는 본 개시의 일 실시 예에 따른 제2 인공지능 모델을 학습시키는 방법을 설명하기 위한 도면이다.
도 6a는 본 개시의 일 실시 예에 따른 전자 장치의 하드웨어에 결합된 소프트웨어 구성을 설명하기 위한 블록도이다.
도 6b는 본 개시의 일 실시 예에 따른 전자 장치의 동작을 설명하기 위한 순서도이다.
도 6c는 본 개시의 일 실시 예에 따른 제3 인공지능 모델을 학습시키는 방법을 설명하기 위한 도면이다.
도 7a는 본 개시의 일 실시 예에 따른 전자 장치의 하드웨어에 결합된 소프트웨어 구성을 설명하기 위한 블록도이다.
도 7b는 본 개시의 일 실시 예에 따른 전자 장치의 동작을 설명하기 위한 순서도이다.
도 8a은 본 개시의 일 실시 예에 따른 전자 장치를 설명하기 위한 도면이다.
도 8b는 본 개시의 일 실시 예에 따른 사용자에게 제공되는 UI를 설명하기 위한 도면이다.
도 8c는 본 개시의 일 실시 예에 따른 사용자에게 제공되는 UI를 설명하기 위한 도면이다.
도 9a은 본 개시의 일 실시 예에 따른 전자 장치가 네트워크 연결이 끊어질 기기를 예측하는 것을 설명하기 위한 도면이다.
도 9b는 본 개시의 일 실시 예에 따른 사용자에게 제공되는 UI를 설명하기 위한 도면이다.
도 10은 본 개시의 일 실시 예에 따른 전자 장치가 네트워크 연결이 끊어질 기기로 연결 정보를 전송하는 것을 설명하기 위한 도면이다.
도 11a는 본 개시의 일 실시 예에 따른 전자 장치가 네트워크 연결이 끊어질 기기가 다른 기기를 통해 네트워크 연결을 유지하는 것을 설명하기 위한 도면이다.
도 11b는 본 개시의 일 실시 예에 따른 사용자에게 제공되는 UI를 설명하기 위한 도면이다.
도 12a는 본 개시의 일 실시 예에 따른 중계 기기가 식별되지 않는 경우를 설명하기 위한 도면이다.
도 12b는 본 개시의 일 실시 예에 따른 사용자에게 제공되는 UI를 설명하기 위한 도면이다.
도 13a는 본 개시의 일 실시 예에 따른 전자 장치가 네트워크 연결이 끊어진 기기에 대한 예측 정보를 제공하는 것을 설명하기 위한 도면이다.
도 13b는 본 개시의 일 실시 예에 따른 사용자에게 제공되는 UI를 설명하기 위한 도면이다.
도 14a는 본 개시의 일 실시 예에 따른 전자 장치가 네트워크 연결이 끊어진 기기가 연결이 재개된 경우를 설명하기 위한 도면이다.
도 14b는 본 개시의 일 실시 예에 따른 사용자에게 제공되는 UI를 설명하기 위한 도면이다.
도 15는 본 개시의 일 실시 예에 따른 전자 장치를 제어하는 제어 방법을 설명하기 위한 흐름도이다.
도 16는 본 개시의 일 실시 예에 따른 전자 장치가 시스템으로 구현된 경우를 설명하기 위한 도면이다.
도 17a는 본 개시의 일 실시 예에 따른 기기의 하드웨어 구성을 설명하기 위한 블록도이다.
도 17b는 본 개시의 일 실시 예에 따른 기기의 소프트웨어 구성을 설명하기 위한 블록도이다.
본 개시를 설명함에 있어서, 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 개시의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그에 대한 상세한 설명은 생략한다. 덧붙여, 하기 실시 예는 여러 가지 다른 형태로 변형될 수 있으며, 본 개시의 기술적 사상의 범위가 하기 실시 예에 한정되는 것은 아니다. 오히려, 이들 실시 예는 본 개시를 더욱 충실하고 완전하게 하고, 당업자에게 본 개시의 기술적 사상을 완전하게 전달하기 위하여 제공되는 것이다.
본 개시에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 개시의 실시 예의 다양한 변경(modifications), 균등물(equivalents), 및/또는 대체물(alternatives)을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다.
본 개시에서 사용된 "제1," "제2," "첫째," 또는 "둘째,"등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 상기 구성요소들을 한정하지 않는다.
본 개시에서, "A 또는 B," "A 또는/및 B 중 적어도 하나," 또는 "A 또는/및 B 중 하나 또는 그 이상"등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. 예를 들면, "A 또는 B," "A 및 B 중 적어도 하나," 또는 "A 또는 B 중 적어도 하나"는, (1) 적어도 하나의 A를 포함, (2) 적어도 하나의 B를 포함, 또는 (3) 적어도 하나의 A 및 적어도 하나의 B 모두를 포함하는 경우를 모두 지칭할 수 있다.
본 개시에서 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "구성되다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 다른 구성요소(예: 제 3 구성요소)가 존재하지 않는 것으로 이해될 수 있다.
본 개시에서 사용된 표현 "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, "~에 적합한(suitable for)," "~하는 능력을 가지는(having the capacity to)," "~하도록 설계된(designed to)," "~하도록 변경된(adapted to)," "~하도록 만들어진(made to)," 또는 "~를 할 수 있는(capable of)"과 바꾸어 사용될 수 있다. 용어 "~하도록 구성된(또는 설정된)"은 하드웨어적으로 "특별히 설계된(specifically designed to)" 것만을 반드시 의미하지 않을 수 있다. 대신, 어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성된(또는 설정된) 프로세서"는 상기 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 상기 동작들을 수행할 수 있는 범용 프로세서(generic-purpose processor)(예: CPU 또는 application processor)를 의미할 수 있다.
이하에서는 첨부된 도면을 참조하여 본 개시의 다양한 실시 예를 설명하도록 한다.
도 1은 본 개시의 일 실시 예에 따른 네트워크 시스템을 설명하기 위한 도면이다.
도 1을 참조하면, 네트워크 시스템(10)은 네트워크 연결된 전자 장치(100) 및 복수의 기기(200-1 내지 200-B)를 포함할 수 있다.
네트워크 시스템(10)은 네트워크 연결된 전자 장치(100) 및 복수의 기기(200-1 내지 200-B) 상호간 데이터가 송수신되거나 자원이 공유될 수 있는 시스템을 지칭할 수 있다.
전자 장치(100)는 네트워크 시스템(10)에서 관리자 역할을 수행하는 기기를 지칭할 수 있다. 예를 들어, 전자 장치(100)는 수신된 사용자 명령에 따라 네트워크로 연결된 기기를 제어할 수 있다. 또한, 전자 장치(100)는 네트워크 연결된 기기로부터 수신된 데이터를 처리하여 정보를 분석하고, 분석된 정보를 전자 장치(100)의 화면에 표시할 수 있다.
이를 위해, 전자 장치(100)는 서버 장치(예: 클라우드 서버 등)로 구현될 수 있다. 또한, 전자 장치(100)는 서버 장치와 같은 역할을 수행할 수 있는 스마트폰, 태블릿, 웨어러블 장치, PC, 스마트 TV, 스마트 스피커, 인공지능 스피커, 에어컨, 냉장고 등 다양한 전자 장치로 구현될 수도 있다.
복수의 기기(200-1 내지 200-B) 각각은 네트워크 시스템(10)에서 전자 장치(100)에 의해 제어될 수 있다. 또한, 복수의 기기(200-1 내지 200-B) 각각은 기기에 대한 정보를 전자 장치(100)로 전송할 수 있다.
이를 위해, 복수의 기기(200-1 내지 200-B) 각각은 유선 통신 또는 무선 통신을 통해 전자 장치(100)와 네트워크 연결될 수 있다.
예를 들어, 기기 1(200-1)은 스마트폰으로서 LTE(long-term evolution), LTE-A(LTE Advance), 5G(5th Generation) 이동통신, CDMA(code division multiple access), WCDMA(wideband CDMA) 등과 같은 무선 통신을 통해 전자 장치(100)와 네트워크 연결될 수 있다. 또한, 기기 2(200-2) 내지 기기 A(200-A)는 WiFi, WiFi Direct, Bluetooth, NFC(near field communication), Zigbee 등의 무선 통신을 통해 브릿지 장치(300)와 네트워크 연결되고, 기기 B(200-B)는 이더넷(Ethernet), 광 네트워크(optical network), USB(Universal Serial Bus), 선더볼트(ThunderBolt) 등의 유선 통신을 통해 브릿지 장치(300)와 네트워크 연결될 수 있다. 이때, 브릿지 장치(300)는 예를 들어, AP(Access Point), 라우터(Router), 기지국, ISP(Internet Service Provider) 등으로 구현되어, 전자 장치(100)와 네트워크 연결될 수 있다.
일 실시 예로서, 복수의 기기(200-1 내지 200-B) 중 적어도 하나의 기기는 전자 장치(100)를 통해 네트워크 시스템(10)의 다른 기기를 제어하거나, 전자 장치(100)를 통해 다른 기기에 대한 정보를 수신하여 사용자에게 제공할 수 있다. 여기서, 상기 동작을 수행하는 기기를 마스터 기기라 지칭할 수 있다.
예를 들어, 기기 1(200-1)이 마스터 기기인 경우를 가정하기로 한다. 이 경우, 기기 1(200-1)은 네트워크 시스템(10)의 어느 하나(예: 기기 2(200-2))가 특정한 동작을 수행하도록 하기 위한 사용자 명령(예: 사용자 음성, 터치 입력 등)이 수신되면, 사용자 명령에 대응되는 제어 신호를 전자 장치(100)를 통해 기기 2(200-2)로 전송할 수 있다. 그리고, 기기 2(200-2)는 수신된 제어 신호에 따라 특정한 동작을 수행할 수 있다.
또한, 전자 장치(100)는 기기 2(200-2)로부터 기기 2(200-2)에 대한 정보(예: 동작의 완료율 등)가 수신되면, 수신된 정보를 기기 1(200-1)로 전송할 수 있다. 이 경우, 기기 1(200-1)은 전자 장치(100)로부터 기기 2(200-2)에 대한 정보를 수신하여 수신된 정보를 사용자에게 제공할 수 있다. 이때, 정보를 제공하는 방식은 문자 또는 이미지로 화면에 표시하거나, 음성을 출력하는 등 다양한 방식이 이용될 수 있다.
한편, 복수의 기기(200-1 내지 200-B) 각각은 스마트폰, 태블릿, 컴퓨터(Computer), 스마트 TV, 스마트 스피커, 인공지능 스피커, 에어컨, 냉장고, DVD(digital video disk) 플레이어, 오디오, 로봇 청소기, 청소기, 오븐, 전자레인지, 세탁기, 공기 청정기, 셋톱 박스(set-top box), 홈 오토매이션 컨트롤 패널(home automation control panel), 보안 컨트롤 패널(security control panel), TV 박스(예: 삼성 HomeSync??, 애플TV??, 또는 구글 TV??), 게임 콘솔(예: Xbox??, PlayStation??), 의료기기, 차량, 전자 사전, 캠코더(camcorder), 전자 액자, 상점의 POS(point of sales), 다양한 사물 인터넷 장치(internet of things)(예: 전구, 조명, 각종 센서, 전기 또는 가스 미터기, 스프링클러 장치, 화재경보기, 온도조절기(thermostat), 가로등, 토스터(toaster), 운동기구, 온수탱크, 히터, 보일러 등), 또는 웨어러블 장치(wearable device) 중 적어도 하나로 구현될 수 있다.
한편, 복수의 기기(200-1 내지 200-B) 중 프로세서(미도시)를 구비하고 프로세서의 연산 능력이 기설정된 기준 이상인 기기가 마스터 기기의 역할을 수행할 수 있다. 예를 들어, 스마트폰, AI 스피커 등이 마스터 기기의 역할을 수행할 수 있다. 다만, 이는 일 실시 예일 뿐이며, 다양한 변형 실시 예가 가능하다.
한편, 전자 장치(100)는 네트워크 시스템(10)에서 네트워크 연결이 끊어질 기기를 예측하고, 복수의 기기(200-1 내지 200-B) 중 다른 하나를 통해 예측된 기기의 네트워크 연결이 유지되도록 할 수 있다.
또한, 전자 장치(100)는 네트워크 시스템(10)에서 복수의 기기(200-1 내지 200-B) 중 하나의 기기의 네트워크 연결이 끊어진 경우, 네트워크 연결이 끊어진 기기의 동작 진행 상태에 대한 예측 정보를 제공할 수 있다. 여기서, 동작 진행 상태는 진행 중인 동작의 완료율(예: 백분율 단위), 진행 중인 동작을 진행한 시간, 진행 중인 동작이 완료되기까지 남은 시간 등 중 적어도 하나를 포함할 수 있다.
이에 따라, 본 개시의 전자 장치(100)는 네트워크의 연결성을 심리스(seamless)하게 유지하여 사용자 경험 및 사용자의 편의성을 향상시킬 수 있다.
이하에서는 첨부된 도면을 참조하여 본 개시의 다양한 실시 예를 보다 구체적으로 설명하기로 한다.
도 2a는 본 개시의 일 실시 예에 따른 전자 장치를 설명하기 위한 도면이다.
도 2a를 참조하면, 전자 장치(100)는 복수의 기기(200-1 내지 200-B)와 네트워크 연결될 수 있다.
본 개시의 일 실시 예에 따른 전자 장치(100)는 네트워크 시스템(10)에서 네트워크 연결된 복수의 기기(200-1 내지 200-B) 중 적어도 하나(예: 기기 A(200-A))가 전자 장치(100)와 네트워크 연결이 끊어질 것으로 예측되면, 다른 기기(예: 기기 B(200-B))를 통해 예측된 기기의 네트워크 연결을 유지할 수 있다.
구체적으로 도 2a를 참조하면, 전자 장치(100)는 네트워크 연결된 복수의 기기(200-1 내지 200-B) 각각으로부터 정보를 수신할 수 있다(도 2a의 ①).
여기서, 상기 정보는 기기가 획득할 수 있는 기기의 내부 환경의 정보 또는 외부 환경의 정보를 지칭할 수 있다. 이하에서는 설명의 편의를 위해 상기 정보를 환경 정보라 지칭하기로 한다. 특히, 기기의 환경 정보는 기기의 동작 진행 상태, 기기의 네트워크 연결과 관련된 정보, 기기의 주변 환경과 관련된 정보 중 적어도 하나를 포함할 수 있다.
여기서, 기기의 동작 진행 상태는 기기가 수행하는 동작, 동작의 완료율(예: 백분율 단위), 동작을 진행한 시간, 동작을 시작한 시간, 동작이 완료될 시간, 기기의 현재 위치, 기기의 이동 방향, 기기의 이동 속도, 기기의 전원 상태(예: 배터리 잔량, 전원 공급 여부 등) 등 중 적어도 하나를 포함할 수 있다.
또한, 기기의 네트워크 연결과 관련된 정보는 기기의 식별 정보(예: 기기의 이름, 모델 번호, 시리얼 번호, IMEI(Intel Management Engine Interface) 등), 기기의 네트워크 주소(예: Mac(Media Access Control) 주소, IP(Internet Protocol) 주소 등), 기기가 수행할 수 있는 통신 방식, 기기의 네트워크 상태(예: 수신 감도, 주파수 대역 등), 기기의 전원 상태(예: 배터리 잔량, 전원 공급 여부 등), 기기의 현재 위치 등 중 적어도 하나를 포함할 수 있다.
또한, 기기의 주변 환경과 관련된 정보는 기기의 현재 위치를 기준으로 주변의 온도, 주변을 촬영한 이미지, 다른 기기의 동작에 의한 신호 간섭, 다양한 센싱 정보(예: 도어의 개폐 여부 등) 중 적어도 하나를 포함할 수 있다.
한편, 환경 정보는 기기에 따라 서로 다른 정보일 수 있다. 예를 들어, 기기 1(200-1)이 도어 센서인 경우 기기 1(200-1)의 환경 정보는 도어의 개폐 여부이며, 기기 2(200-2)가 로봇 청소기인 경우 기기 2(200-2)의 환경 정보는 현재 위치, 동작 진행 상태, 배터리 잔량이 될 수 있다. 이에 따라, 전자 장치(100)는 기기 1(200-1)로부터 기기 1(200-1)의 감지 대상인 도어의 개폐 여부에 대한 정보를 수신하고, 기기 2(200-2)로부터 기기 2(200-2)의 현재 위치, 동작 진행 상태, 배터리 잔량에 대한 정보를 수신할 수 있다. 이와 같이, 전자 장치(100)가 수신하는 환경 정보는 수신되는 기기에 따라 다를 수 있다.
그리고, 전자 장치(100)는 복수의 기기(200-1 내지 200-B)로부터 수신된 환경 정보에 기초하여, 복수의 기기(200-1 내지 200-B) 중 네트워크 연결이 끊어질 기기를 예측할 수 있다. 즉, 전자 장치(100)는 복수의 기기(200-1 내지 200-B) 중 네트워크 연결이 끊어질 것으로 예측되는 기기(예: 기기 A(200-A))를 식별할 수 있다(도 2a의 ②).
여기에서, 네트워크 연결이 끊어질 것으로 예측되는 기기는, 현재 네트워크 연결이 유지되는 상태이나 기기의 동작 진행 상태 또는 주변 환경을 고려하여 가까운 미래에 네트워크 연결이 끊어지는 상태가 될 것으로 추정되는 기기를 지칭할 수 있다. 이때, 네트워크 연결이 끊어지는 상태는 두 장치간 데이터를 정상적으로 송수신할 수 없거나 자원을 공유할 수 없는 상태를 지칭할 수 있다. 예를 들어, 두 장치 중 하나의 장치가 요청 신호를 다른 장치로 전송하였으나 요청 신호에 대한 응답 신호가 다른 장치로부터 기설정된 시간 이내에 수신되지 않거나, 수신된 응답 신호의 수신신호강도(RSSI; Received Signal Strength Indicator)가 기준 값 이하인 상태를 두 장치간 네트워크 연결이 끊어진 상태라고 지칭할 수 있다.
그리고, 전자 장치(100)는 복수의 기기(200-1 내지 200-B)로부터 수신된 환경 정보에 기초하여, 복수의 기기(200-1 내지 200-B) 중 네트워크 연결이 끊어질 것으로 예측된 기기(예: 기기 A(200-A))를 중계할 수 있는 중계 기기(예: 기기 B(200-B))를 식별할 수 있다(도 2a의 ③).
여기에서, 중계 기기는 두 기기 각각과 네트워크 연결되어 두 기기간 네트워크 연결을 유지해주는 기기를 지칭할 수 있다. 즉, 중계 기기는 한 기기에서 데이터를 수신한 경우 수신된 데이터를 다른 기기로 전송하는 기기일 수 있으며, 이때 데이터가 송수신되는 경로는 중계 기기를 경유하도록 변경될 수 있다.
그리고, 전자 장치(100)는 네트워크 연결이 끊어질 것으로 예측된 기기(예: 기기 A(200-A)) 및 중계 기기(예: 기기 B(200-B)) 간 네트워크 연결을 위한 연결 정보를 네트워크 연결이 끊어질 것으로 예측된 기기(예: 기기 A(200-A)) 및 중계 기기(예: 기기 B(200-B))로 전송할 수 있다(도 2a의 ④).
여기에서, 연결 정보는, 한 기기가 다른 기기와 네트워크 연결을 하기 위해 필요한 정보로서, 네트워크 연결의 대상이 되는 기기의 네트워크 주소(예: Mac 주소, IP 주소 등), 네트워크 연결의 통신 방식(예: Wi-Fi, Bluetooth, ZigBee, NFC 등)을 포함할 수 있다. 또한, 연결 정보는 통신 연결의 대상이 되는 기기와 특정한 통신 방식에 따른 통신 연결을 수행하도록 제어하는 명령 등을 더 포함할 수 있다.
그리고, 네트워크 연결이 끊어질 것으로 예측된 기기(예: 기기 A(200-A)) 및 중계 기기(예: 기기 B(200-B))는 수신된 연결정보에 따라, 예측된 기기 A(200-A) 및 선택된 기기 B(200-B) 상호간 네트워크 연결을 수행할 수 있다. 이에 따라, 네트워크 연결이 끊어질 것으로 예측된 기기(예: 기기 A(200-A))는 중계 기기(예: 기기 B(200-B))를 통해 전자 장치(100)와의 네트워크 연결이 유지될 수 있다(도 2a의 ⑤).
이상과 같은, 본 개시의 전자 장치(100)는 네트워크 연결된 기기들이 다양한 내부 또는 외부 환경으로 인해 네트워크 연결이 불안정해지는 경우가 발생하더라도, 전자 장치(100)와 기기 간 네트워크 연결성(connectivity)을 심리스(seamless)하게 유지할 수 있으며, 이에 따른 사용자의 편의성을 향상시킬 수 있다.
도 2b는 본 개시의 일 실시 예에 따른 전자 장치를 설명하기 위한 도면이다.
도 2b를 참조하면, 전자 장치(100)는 복수의 기기(200-1 내지 200-B)와 네트워크 연결될 수 있다.
본 개시의 일 실시 예에 따른 전자 장치(100)는 네트워크 시스템(10)에서 복수의 기기(200-1 내지 200-B) 중 하나의 기기의 네트워크 연결이 끊어진 경우, 네트워크 연결이 끊어진 기기의 동작 진행 상태에 대한 예측 정보를 제공할 수 있다. 이때, 예측 정보는 네트워크 연결이 끊어진 기기의 동작 진행 상태를 예측한(또는 추정한) 정보를 지칭할 수 있다.
구체적으로 도 2b를 참조하면, 전자 장치(100)는 네트워크 연결된 복수의 기기(200-1 내지 200-B) 각각으로부터 정보를 수신할 수 있다(도 2b의 ①).
그리고, 전자 장치(100)는 복수의 기기(200-1 내지 200-B)로부터 수신된 환경 정보에 기초하여, 복수의 기기(200-1 내지 200-B) 중 네트워크 연결이 끊어질 기기(예: 기기 A(200-A))를 예측할 수 있다(도 2b의 ②).
그리고, 전자 장치(100)는 복수의 기기(200-1 내지 200-B)로부터 수신된 환경 정보에 기초하여, 복수의 기기(200-1 내지 200-B) 중 네트워크 연결이 끊어질 것으로 예측된 기기(예: 기기 A(200-A))를 중계할 수 있는 중계 기기를 식별할 수 있다.
여기서, 도 2a의 실시 예와 달리 네트워크 연결이 끊어질 것으로 예측된 기기 A(200-A)를 중계할 수 있는 중계 기기가 존재하지 않는 경우, 전자 장치(100)는 중계 기기가 존재하지 않는다는 것을 식별할 수 있다(도 2b의 ③).
그리고, 네트워크 연결이 끊어질 것으로 예측된 기기 A(200-A)가 전자 장치(100)와의 네트워크 연결이 끊어지면(도 2b의 ④), 전자 장치(100)는 네트워크 연결이 유지된 복수의 기기(200-1, 200-2, ??, 200-B) 중 적어도 하나의 기기(예: 기기 1(200-1))로 네트워크 연결이 끊어진 기기(예: 기기 A(200-A))의 동작 진행 상태에 대한 예측 정보를 전송할 수 있다(도 2b의 ⑤).
이 경우, 적어도 하나의 기기(예: 기기 1(200-1))는 수신된 네트워크 연결이 끊어진 기기 A(200-A)의 동작 진행 상태에 대한 예측 정보를 화면에 표시하거나 음성으로 출력하는 등 다양한 방식으로 예측 정보를 사용자에게 제공할 수 있다. 여기서, 기기 1(200-1)은 마스터 기기일 수 있다.
한편, 기기 1(200-1)은 기기 A(200-A)가 네트워크 연결이 끊어지기 이전에도, 기기 A(200-A)의 동작 진행 상태에 대한 정보가 전자 장치(100)로부터 주기적으로 수신하여, 기기 A(200-A)의 동작 진행 상태에 대한 정보를 다양한 방식으로 사용자에게 제공할 수 있다.
이상과 같은, 본 개시의 전자 장치(100)는 기기 A(200-A)의 네트워크 연결이 끊어진 경우라도, 네트워크 연결이 끊어지기 전의 기기 A(200-A)에 대한 정보에 이어 네트워크 연결이 끊어진 후의 기기 A(200-A)에 대한 예측 정보를 사용자에게 제공하여, 이에 따른 사용자의 경험을 연속적으로 유지하고 사용자 편의성을 향상시킬 수 있다.
이하에서는 첨부된 도면을 참조하여, 본 개시의 하드웨어 및 소프트웨어 구성을 구체적으로 설명하기로 한다.
도 3은 본 개시의 일 실시 예에 따른 전자 장치의 하드웨어 구성을 설명하기 위한 블록도이다.
도 3을 참조하면, 전자 장치(100)는 통신부(110), 메모리(120) 및 프로세서(130)를 포함할 수 있다.
통신부(110)는 복수의 기기(200-1 내지 200-B)(이하, 설명의 편의를 위해 복수의 기기(200)라 한다)와 통신을 수행하여, 다양한 정보(또는 데이터)를 송수신할 수 있는 하드웨어를 지칭할 수 있다. 구체적으로, 통신부(110)는 복수의 기기(200)로부터 환경 정보를 수신할 수 있으며, 복수의 기기(200) 중 적어도 하나의 기기로 연결 정보를 전송할 수 있다. 이 경우, 통신부(110)는 TCP/IP(Transmission Control Protocol/Internet Protocol), UDP(User Datagram Protocol), HTTP(Hyper Text Transfer Protocol), HTTPS(Secure Hyper Text Transfer Protocol), FTP(File Transfer Protocol), SFTP(Secure File Transfer Protocol), MQTT(Message Queuing Telemetry Transport) 등의 통신 규약(프로토콜)을 이용하여 복수의 기기(200)와 다양한 정보를 송수신할 수 있다.
이를 위해, 통신부(110)는 유선 통신 또는 무선 통신을 통해 복수의 기기(200)와 네트워크로 연결될 수 있다. 이때, 네트워크는 영역 또는 규모에 따라 개인 통신망(PAN; Personal Area Network), 근거리 통신망(LAN; Local Area Network), 광역 통신망(WAN; Wide Area Network) 등일 수 있으며, 네트워크의 개방성에 따라 인트라넷(Intranet), 엑스트라넷(Extranet), 또는 인터넷(Internet) 등일 수 있다.
여기에서, 무선 통신은 LTE(long-term evolution), LTE-A(LTE Advance), 5G(5th Generation) 이동통신, CDMA(code division multiple access), WCDMA(wideband CDMA), UMTS(universal mobile telecommunications system), WiBro(Wireless Broadband), GSM(Global System for Mobile Communications), DMA(Time Division Multiple Access), WiFi(Wi-Fi), WiFi Direct, Bluetooth, NFC(near field communication), Zigbee 등의 통신 방식 중 적어도 하나를 포함할 수 있다. 유선 통신은 이더넷(Ethernet), 광 네트워크(optical network), USB(Universal Serial Bus), 선더볼트(ThunderBolt) 등의 통신 방식 중 적어도 하나를 포함할 수 있다. 여기서, 통신부(110)는 상술한 유무선 통신 방식에 따른 네트워크 인터페이스(Network Interface) 또는 네트워크 칩을 포함할 수 있다. 한편, 통신 방식은 상술한 예에 한정되지 아니하고, 기술의 발전에 따라 새롭게 등장하는 통신 방식을 포함할 수 있다.
메모리(120)는 프로세서(130) 등이 접근할 수 있도록 데이터 등의 정보를 전기 또는 자기 형태로 저장하는 하드웨어를 지칭할 수 있다. 이를 위해, 메모리(120)는 비휘발성 메모리, 휘발성 메모리, 플래시메모리(Flash Memory), 하드디스크 드라이브(HDD) 또는 솔리드 스테이트 드라이브(SSD), RAM, ROM 등 중에서 적어도 하나의 하드웨어로 구현될 수 있다.
메모리(120)에는 전자 장치(100) 또는 프로세서(130)의 동작에 필요한 적어도 하나의 인스트럭션(instruction), 모듈 또는 데이터가 저장될 수 있다. 여기서, 인스트럭션은 전자 장치(100) 또는 프로세서(130)의 동작을 지시하는 부호 단위로서, 컴퓨터가 이해할 수 있는 언어인 기계어로 작성된 것일 수 있다. 모듈은 작업 단위의 특정 작업을 수행하는 일련의 인스트럭션의 집합체(instruction set)일 수 있다. 데이터는 문자, 수, 영상 등을 나타낼 수 있는 비트(bit) 또는 바이트(byte) 단위의 정보일 수 있다.
또한, 메모리(120)에는 복수의 기기(200)로부터 수신된 환경 정보가 저장될 수 있다. 환경 정보에 대해서는 전술하여 설명한 바 있다. 또한, 메모리(120)에는 전자 장치(100)와 네트워크 연결이 끊어질 기기를 예측하도록 학습된 인공지능 모델(미도시)이 저장될 수 있다.
여기에서, 인공지능 모델은, 복수의 신경망 레이어들로 구성될 수 있다. 각 레이어는 복수의 가중치(weight values)를 갖고 있으며, 이전(previous) 레이어의 연산 결과와 복수의 가중치의 연산을 통해 레이어의 연산을 수행한다. 신경망의 예로는, CNN(Convolutional Neural Network), DNN(Deep Neural Network), RNN(Recurrent Neural Network), RBM(Restricted Boltzmann Machine), DBN(Deep Belief Network), BRDNN(Bidirectional Recurrent Deep Neural Network) 및 심층 Q-네트워크(Deep Q-Networks)가 있으며, 본 개시에서의 신경망은 전술한 예에 한정되지 않는다. 또한, 인공지능 모델은, 다양한 개념, 조건, 관계 내지는 합의된 지식이 컴퓨터가 처리할 수 있는 형태로 표현된 온톨로지 기반의 데이터 구조로 구성될 수도 있다.
인공지능 모델은 다양한 학습 알고리즘을 통해 전자 장치(100) 또는 별도의 서버/시스템을 통해 학습된 것일 수 있다. 학습 알고리즘은, 다수의 학습 데이터들을 이용하여 소정의 대상 기기(예컨대, 로봇)를 훈련시켜 소정의 대상 기기 스스로 결정을 내리거나 예측을 할 수 있도록 하는 방법이다. 학습 알고리즘의 예로는, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)이 있으며, 본 개시에서의 학습 알고리즘은 전술한 예에 한정되지 않는다.
메모리(120)는 프로세서(130)에 의해 액세스되며, 프로세서(130)에 의해 인스트럭션, 모듈, 인공지능 모델 또는 데이터에 대한 독취/기록/수정/삭제/갱신 등이 수행될 수 있다.
프로세서(130)는 하나 또는 복수의 프로세서로 구성될 수도 있으며, 프로세서(130)는 CPU(Central Processing Unit), AP(Application Processor) 등과 같은 범용 프로세서, GPU(Graphic Processing Unit), VPU(Vision Processing Unit) 등과 같은 그래픽 전용 프로세서, NPU(Neural Processing Unit)와 같은 인공지능 전용 프로세서 등으로 구현될 수 있다.
하나 또는 복수의 프로세서는, 메모리(120)에 저장된 기정의된 동작 규칙 또는 인공지능 모델에 따라, 입력 데이터를 처리하도록 제어한다. 기정의된 동작 규칙 또는 인공지능 모델은 학습을 통해 만들어진 것을 특징으로 한다.
여기서, 학습을 통해 만들어진다는 것은, 다수의 학습 데이터들에 학습 알고리즘을 적용함으로써, 원하는 특성의 기정의된 동작 규칙 또는 인공지능 모델이 만들어짐을 의미한다. 이러한 학습은 본 개시에 따른 인공지능이 수행되는 기기 자체에서 이루어질 수도 있고, 별도의 서버/시스템을 통해 이루어 질 수도 있다.
프로세서(130)는 전자 장치(100)의 전반적인 구성을 제어할 수 있다.
프로세서(130)는 전자 장치(100)와 네트워크 연결된 복수의 기기(200) 중 적어도 하나로부터 통신부(110)를 통해 수신된 정보를 제1 인공지능 모델(121, 도 4a 참조)에 입력하고, 제1 인공지능 모델(121)의 출력에 기초하여 복수의 기기(200) 중 네트워크 연결이 끊어질 것으로 예측되면, 복수의 기기(200) 중 다른 하나를 통해 예측된 기기의 네트워크 연결이 유지되도록 제어할 수 있다. 여기서, 다른 하나의 기기는 중계 기기를 의미할 수 있다.
구체적으로, 프로세서(130)는 전자 장치(100)와 네트워크 연결된 복수의 기기(200) 중 적어도 하나로부터 통신부(110)를 통해 수신된 정보를 제1 인공지능 모델(121)에 입력하여, 제1 인공지능 모델(121)의 출력에 기초하여 복수의 기기(200) 중 네트워크 연결이 끊어질 것으로 예측되는 기기를 식별할 수 있다.
여기서, 제1 인공지능 모델(121) 전자 장치(100)와 네트워크 연결된 복수의 기기(200) 중 전자 장치(100)와 네트워크 연결이 끊어진 기기의 정보 및 네트워크 연결이 끊어진 시점을 포함하는 시간 동안에서의 복수의 기기(200)의 정보를 포함하는 학습 데이터에 기초하여 학습된 모델일 수 있다. 또한, 제1 인공지능 모델(121)은 전술한 인공지능 모델에 대한 설명이 적용될 수 있으며, 메모리(120)에 저장될 수 있다.
이 경우, 프로세서(130)는 복수의 기기(200) 중 네트워크 연결이 끊어질 것으로 예측되면, 복수의 기기(200) 중 다른 하나를 통해 예측된 기기의 네트워크 연결이 유지되도록 제어할 수 있다.
여기에서, 예측된 기기와 전자 장치(100) 간의 네트워크 연결의 방식은 예측된 기기와 다른 하나의 기기 간의 네트워크 연결의 방식과 상이한 것일 수 있다. 예를 들어, 예측된 기기가 전자 장치(100) 간의 네트워크 연결은 AP를 통한 WiFi 방식인 경우, 예측된 기기와 다른 하나의 기기 간의 네트워크 연결은 WiFi와는 다른 Bluetooth 또는 NFC 방식 등일 수 있다.
이를 위해, 프로세서(130)는 네트워크 연결이 끊어질 것으로 예측된 기기(이하, 예측된 기기라 한다)에서 획득된 정보를 다른 하나의 기기로 전송하도록 하는 제어 신호를 통신부(110)를 통해 예측된 기기로 전송하고, 예측된 기기로부터 수신된 정보를 전자 장치(100)로 전송하도록 하는 제어 신호를 통신부(110)를 통해 다른 하나의 기기로 전송할 수 있다.
이후, 프로세서(130)는 예측된 기기와 전자 장치(100) 간 네트워크 연결이 끊어지면, 예측된 기기에서 획득된 정보를 통신부(110)를 통해 다른 하나의 기기로부터 수신할 수 있다.
한편, 프로세서(130)는 복수의 기기(200) 중 네트워크 연결이 끊어질 것으로 예측되면, 복수의 기기(200) 중 다른 하나를 통해 예측된 기기의 네트워크 연결이 유지되도록 하는 다른 하나의 기기를 식별할 수 있다.
이 경우, 프로세서(130)는 전자 장치(100)와 네트워크 연결된 복수의 기기(200) 중 다른 하나의 기기를 식별하도록 학습된 제2 인공지능 모델(122)에 수신된 각 기기의 정보를 입력하고, 제2 인공지능 모델(122, 도 5a 참조)의 출력에 기초하여 다른 하나의 기기를 식별할 수 있다.
여기서, 제2 인공지능 모델(122)은 예측된 기기와 복수의 기기(200) 중 예측된 기기 주변에 위치하는 적어도 하나의 기기 간의 네트워크 연결을 위한 통신 상태에 대한 정보 및 네트워크 연결이 되는 시점을 포함하는 시간 동안 획득된 복수의 기기의 정보를 포함하는 학습 데이터에 기초하여 학습된 모델일 수 있다.
이를 위해, 메모리(120)는, 전자 장치(100)와 네트워크 연결된 복수의 기기(200) 중 다른 하나의 기기를 식별하도록 학습된 제2 인공지능 모델(122)을 더 저장할 수 있다. 또한, 제2 인공지능 모델(122)은 전술한 인공지능 모델에 대한 설명이 적용될 수 있다.
한편, 본 개시의 일 실시 예에 따른 전자 장치(100)는 통신부(110), 메모리(120) 및 프로세서(130) 이외에도 입력 인터페이스(미도시), 출력 인터페이스(미도시)를 더 포함할 수 있다.
입력 인터페이스는 다양한 사용자 입력을 수신하여 프로세서(130)로 전달할 수 있다. 입력 인터페이스는 예를 들면, 터치 패널(미도시), 펜 센서(미도시), 키(미도시) 및 마이크(미도시) 중에서 적어도 하나를 포함할 수 있다. 터치 패널은, 예를 들면, 정전식, 감압식, 적외선 방식, 또는 초음파 방식 중 적어도 하나의 방식을 사용할 수 있으며, 이를 위해 터치 패널은 제어 회로를 포함할 수도 있다. 터치 패널은 택타일 레이어(tactile layer)를 더 포함하여, 사용자에게 촉각 반응을 제공할 수 있다. 펜 센서는 예를 들면, 터치 패널의 일부이거나, 별도의 인식용 쉬트를 포함할 수 있다. 키는 예를 들면, 물리적인 버튼, 광학식 키 또는 키패드를 포함할 수 있다. 마이크는 사용자의 음성을 직접 수신할 수 있으며, 디지털 변환부(미도시)에 의해 아날로그 신호인 사용자의 음성을 디지털로 변환하여 오디오 신호를 획득할 수 있다. 이와 같은 입력 인터페이스는 전자 장치(100)에 내장되거나 키보드, 마우스, 외부 마이크 등과 같은 별도의 외부 장치(미도시)로 구현될 수 있다.
출력 인터페이스는 디스플레이(미도시) 및 스피커(미도시) 중 적어도 하나를 포함할 수 있다. 여기서, 디스플레이는 정보를 시각적인 형태(예: 문자, 이미지 등)로 출력하는 장치이다. 디스플레이는 이미지 프레임을 디스플레이 영역의 전체 또는 일부 영역에 표시할 수 있다. 디스플레이 영역은 정보 또는 데이터가 시각적으로 표시되는 픽셀 단위의 영역 전체를 지칭할 수 있다. 디스플레이의 적어도 일부는 플렉서블 디스플레이(flexible display)의 형태로 전자 장치(100)의 전면 영역 및, 측면 영역 및 후면 영역 중 적어도 하나에 결합될 수도 있다. 플렉서블 디스플레이는 종이처럼 얇고 유연한 기판을 통해 손상 없이 휘거나 구부리거나 말 수 있는 것을 특징으로 할 수 있다. 스피커는 정보를 청각적인 형태(예: 음성)로 출력하는 장치이다. 스피커는 오디오 처리부(미도시)에 의해 디코딩이나 증폭, 노이즈 필터링과 같은 다양한 처리 작업이 수행된 각종 오디오 데이터뿐만 아니라 각종 알림 음이나 음성 메시지를 직접 소리로 출력할 수 있다.
이하에서는, 본 개시의 일 실시 예를 소프트웨어 구성 및 동작의 순서를 설명하기 위한 도면을 참조하여 설명하기로 한다.
도 4a는 본 개시의 일 실시 예에 따른 전자 장치의 하드웨어에 결합된 소프트웨어 구성을 설명하기 위한 블록도이다. 도 4b는 본 개시의 일 실시 예에 따른 전자 장치의 동작을 설명하기 위한 순서도이다. 여기서, 도 4a는 복수의 모듈이 프로세서(130)에 의해 로딩(또는 실행)되어 프로세서(130)에서 동작되는 상태를 나타낸 것이며, 복수의 모듈은 메모리(120)에 저장되어 있을 수 있다.
도 4a 및 4b를 참조하면, 프로세서(130)는 메모리(120)에 저장된 모듈 또는 인스트럭션을 실행함으로써 전자 장치(100)의 전반적인 동작을 제어할 수 있다. 예를 들어, 프로세서(130)는 모듈 또는 인스트럭션을 읽고 해석하며 데이터 처리를 위한 시퀀스를 결정할 수 있으며, 이에 따라 통신부(110), 메모리(120) 등 다른 장치의 동작을 제어하는 제어 신호를 전송함으로써 다른 장치의 동작을 제어할 수 있다.
먼저, 프로세서(130)는 데이터송수신 모듈(131)을 통해, 통신부(110)에 의해 복수의 기기(200)로부터 정보(예: 환경 정보 등)를 수신할 수 있다(도 4a의 ①-1 및 ①-2, 도 4b의 S410). 이때, 복수의 기기(200)로부터 수신되는 정보는 기기에 따라 서로 동일하거나 다른 정보일 수 있으며, 이들은 환경 정보에 포함되는 정보 중 하나일 수 있다. 또한, 환경 정보는 각 모듈이 인식(또는 읽거나 사용)하기에 적합한 데이터 형식(data format)으로 구현될 수 있다.
그리고, 프로세서(130)는 연결해제예측 모듈(132)을 통해, 데이터송수신 모듈(131)로부터 수신된 정보(예: 환경 정보)를 제1 인공지능 모델(121)에 입력할 수 있다(도 4b의 S420).
구체적으로, 프로세서(130)는 연결해제예측 모듈(132)을 통해, 메모리(120)에 저장된 제1 인공지능 모델(121)을 로딩하고, 데이터송수신 모듈(131)로부터 수신된 정보(예: 환경 정보)를 제1 인공지능 모델(121)에 입력할 수 있다(도 4a의 ①-3 및 ①-4).
이를 위해, 제1 인공지능 모델(121)은 학습 데이터를 통해 네트워크 연결이 끊어질 기기를 예측하도록 학습될 수 있다. 구체적으로, 제1 인공지능 모델(121)은 네트워크 연결된 복수의 기기(200) 중에서 적어도 하나의 기기가 네트워크 연결이 끊어진 경우에 복수의 기기(200) 각각으로부터 획득된 환경 정보를 학습 데이터로 하여 네트워크 연결이 끊어질 기기를 예측하도록 학습될 수 있다.
일 실시 예로서, 프로세서(130)는 특정한 시점에서의 출력 데이터(예: 네트워크 연결이 끊어진 기기에 대한 정보) 및 특정한 시점까지 획득된 입력 데이터(예: 복수의 기기(200) 각각으로부터 획득된 환경 정보)를 학습 데이터로 하여 제1 인공지능 모델(121)을 학습시킬 수 있다.
도 4c를 참조하여, 기기 A(200-A)가 9시 22분까지 네트워크 연결이 유지되다가 9시 23분에 네트워크 연결이 끊어진 경우를 가정하여 제1 인공지능 모델(121)을 학습시키는 방법을 설명하도록 한다.
이 경우, 프로세서(130)는 특정한 시점까지 획득된 환경 정보(410-1 내지 410-B)를 입력 데이터(410)로 하고, 특정한 시점에서의 복수의 기기(200-1 내지 200-B) 각각의 네트워크 연결 상태(420-1 내지 420-B)에 따라 식별되는 네트워크 연결이 끊어진 기기(예: 기기 A(200-A))에 대한 정보를 출력 데이터(420)로 하여, 제1 인공지능 모델(121)을 학습시킬 수 있다. 여기서, 환경 정보(410-1 내지 410-B)는 복수의 기기(200-1 내지 200-B) 각각으로부터 획득되는 환경 정보일 수 있다. 또한, 네트워크 연결 상태는 기기의 전자 장치(100)간 네트워크 연결의 유지 또는 네트워크 연결의 끊어짐을 나타내는 정보일 수 있다.
예를 들어, 프로세서(130)는 제1 시점(예: 9시 22분)까지 복수의 기기(200-1 내지 200-B) 각각으로부터 획득된 환경 정보(예: 9시부터 9시 22분까지의 시간 동안에 획득된 환경 정보 등)를 입력 데이터로 하고, 제1 시점(예: 9시 22분)에서 복수의 기기(200-1 내지 200-B) 중 네트워크 연결이 끊어진 기기에 대한 정보(예: 네트워크 연결이 끊어진 기기 없음)를 출력 데이터로 하여, 제1 인공지능 모델(121)을 학습시킬 수 있다. 또한, 프로세서(130)는 제2 시점(예: 9시 23분)까지 복수의 기기(200-1 내지 200-B) 각각으로부터 획득된 환경 정보(예: 9시부터 9시 23분까지의 시간 동안에 획득된 환경 정보)를 입력 데이터로 하고, 제2 시점(예: 9시 23분)에서 복수의 기기(200-1 내지 200-B) 중 네트워크 연결이 끊어진 기기에 대한 정보(예: 기기 A(200-A)에 대한 정보)를 출력 데이터로 하여, 제1 인공지능 모델(121)을 학습시킬 수 있다.
이와 같이, 프로세서(130)는 특정한 시점의 출력 데이터 및 특정한 시점까지 획득된 입력 데이터를 학습 데이터로 하여, 각 시점마다 제1 인공지능 모델(121)을 학습시킬 수 있다. 한편, 상술한 설명은 일 실시 예일 뿐이며, 프로세서(130)는 특정한 시점(예: 9시 20분) 이전의 시점(예: 9시 19분)까지 획득된 환경 정보(410-1 내지 410-B)를 입력 데이터(410)로 하고, 특정한 시점(예: 9시 20분)에서의 복수의 기기(200-1 내지 200-B) 각각의 네트워크 연결 상태(420-1 내지 420-B)에 따라 식별되는 네트워크 연결이 끊어진 기기(예: 기기 A(200-A))에 대한 정보를 출력 데이터(420)로 하여, 각 시점마다 제1 인공지능 모델(121)을 학습시킬 수도 있다.
여기서, 제1 인공지능 모델(121)의 입력 데이터(410)는 복수의 기기(200-1 내지 200-B) 각각으로부터 획득된 환경 정보(410-1 내지 410-B)를 포함할 수 있으며, 환경 정보는 기기에 따라 달라질 수 있다. 예를 들어, 전자 레인지인 기기 1(200-1)의 환경 정보(410-1)는 기기 1(200-1)이 수행하는 동작(해동 모드), 기기 1(200-1)의 동작(해동 모드)이 완료될 때까지 남은 시간을 포함하고, 도어 센서인 기기 2(200-2)의 환경 정보(410-2)는 기기 2(200-2)의 센싱 정보(도어의 개폐 여부)를 포함하고, 로봇 청소기인 기기 A(200-A)의 환경 정보(410-A)는 기기 A(200-A)의 위치, 기기 A(200-A)의 배터리 잔량을 포함하고, 세탁기인 기기 B(200-B)의 환경 정보(410-B)는 기기 B(200-B)가 수행하는 동작(탈수), 기기 B(200-B)가 수행하는 동작의 완료율 등을 포함할 수 있다. 다만 이와 같은 실시 예에 한정되지 아니하고, 다양하게 변형되어 실시될 수 있다.
그리고, 프로세서(130)는 연결해제예측 모듈(132)을 통해, 복수의 기기(200) 중 네트워크 연결이 끊어질 것으로 예측되는 기기를 식별할 수 있다(도 4b의 S430).
구체적으로, 프로세서(130)는 네트워크 연결된 복수의 기기(200) 각각으로부터 획득된 환경 정보를 입력 데이터로서 제1 인공지능 모델(121)에 입력하면, 제1 인공지능 모델(121)로부터 출력되는 출력 데이터를 획득할 수 있다(도 4a의 ②-1). 이 경우, 프로세서(130)는 제1 인공지능 모델(121)의 출력에 기초하여, 복수의 기기(200) 중 네트워크 연결이 끊어질 것으로 예측되는 기기를 식별할 수 있다.
일 실시 예로서, 제1 인공지능 모델(121)의 출력은 네트워크 연결된 복수의 기기(200) 각각에 대해 네트워크 연결이 끊어질 것으로 예측되는 정도를 나타내는 정량적인 값(예: 확률 값 등)을 포함할 수 있다. 이 경우, 프로세서(130)는 복수의 기기(200) 중 제1 인공지능 모델(121)의 출력이 기설정된 값 이상인 기기를 네트워크 연결이 끊어질 것으로 예측되는 기기로서 식별할 수 있다. 예를 들어, 기기 A(200-A)에 대한 인공지능 모델(121)의 출력이 0.9이며, 기기 1(200-1)에 대한 인공지능 모델(121)의 출력이 0.4인 경우를 가정하면, 프로세서(130)는 기기 A(200-A) 및 기기 1(200-1) 중에서 인공지능 모델(121)의 출력이 기설정된 값(예: 0.7) 이상인 기기 A(200-A)를 네트워크 연결이 끊어질 것으로 예측되는 기기로서 식별할 수 있다.
일 실시 예로서, 제1 인공지능 모델(121)의 출력은 복수의 기기(200) 중 네트워크 연결이 끊어질 것으로 예측되는 기기에 대한 식별 정보(예: 기기 A(200-A)의 식별 정보)를 포함할 수 있다. 이 경우, 프로세서(130)는 복수의 기기(200) 중 식별 정보에 대응되는 기기(예: 기기 A(200-A))를 네트워크 연결이 끊어질 것으로 예측되는 기기로서 식별할 수 있다.
한편, 프로세서(130)는 네트워크 연결이 끊어질 것으로 예측되는 기기(예: 기기 A(200-A))가 식별되면(도 4b의 S430, Yes), 알림 모듈(미도시)을 통해 예측된 기기 A(200-A)가 네트워크 연결이 끊어질 예정이라는 것을 알리기 위한 알림 정보(예: 문자, 이미지 또는 음성 등의 형태의 정보)를 생성할 수 있다.
이 경우 일 실시 예로서, 프로세서(130)는 알림 모듈(미도시)을 통해 알림 정보를 문자 또는 이미지의 형태로 전자 장치(100)의 디스플레이(미도시)에 표시하거나, 알림 정보를 음성의 형태로 전자 장치(100)의 스피커(미도시)로 출력하도록 제어할 수 있다. 이와 다른 일 실시 예로서, 프로세서(130)는 데이터송수신 모듈(131)을 통해 알림 정보를 기설정된 기기로 전송하도록 통신부(110)를 제어할 수 있다. 이 경우, 기설정된 기기는 수신된 알림 정보를 문자, 이미지 또는 음성 등의 형태로서 사용자에게 제공할 수 있다. 여기서, 기설정된 기기는 복수의 기기(200) 중 예측된 기기 A(200-A) 또는 마스터 기기, 사용자에 의해 선택된 기기 등으로 설정될 수 있다.
그리고, 프로세서(130)는 중계기기선택 모듈(133)을 통해, 복수의 기기(200) 중에서 예측된 기기 A(200-A)의 네트워크 연결이 유지되도록 하는 다른 하나의 기기(예: 기기 B(200-B))를 선택(또는 식별)할 수 있다(도 4b의 S440). 이때, 예측된 기기 A(200-A)의 네트워크 연결이 유지되도록 하는 다른 하나의 기기는 설명의 편의를 위해 중계 기기라 지칭하기로 한다.
구체적으로, 프로세서(130)는 전자 장치(100)와 네트워크 연결이 끊어질 것으로 예측되는 기기 A(200-A)가 식별되면(도 4b의 S430, Y), 데이터송수신 모듈(131)에서 수신된 정보(예: 환경 정보) 및 연결해제예측 모듈(132)에서 예측된 기기에 대한 정보(예: 기기 A(200-A))에 액세스할 수 있다(도 4a의 ①-3 및 ②-2).
이 경우, 프로세서(130)는 중계기기선택모듈(133)을 통해 기기의 환경 정보 중 기기의 네트워크 연결과 관련된 정보에 기초하여, 예측된 기기 A(200-A) 및 전자 장치(100) 간 네트워크 연결을 중계하는 중계 기기를 선택(또는 식별)할 수 있다(도 4b의 S440).
일 실시 예로서, 프로세서(130)는 복수의 기기(200) 중에서 기기 A(200-A)가 제1 통신 방식(예: 브릿지 장치(300)와의 WiFi)을 통한 전자 장치(100)와의 네트워크 연결이 끊어질 것으로 예측되는 경우, 기기의 네트워크 연결과 관련된 정보(예: 기기의 식별 정보, 기기가 수행할 수 있는 통신 방식 등)에서 기기 A(200-A)가 수행할 수 있는 다른 제2 통신 방식(예: Bluetooth)을 수행할 수 있는 기기를 중계 기기로 선택(또는 식별)할 수 있다.
일 실시 예로서, 프로세서(130)는 기기의 네트워크 연결과 관련된 정보(예: 기기의 식별 정보, 기기가 수행할 수 있는 통신 방식, 기기의 현재 위치 등)에서, 네트워크 연결이 끊어질 것으로 예측되는 기기 A(200-A)의 위치를 기준으로 기기 A(200-A)가 수행할 수 있는 통신 방식에 따른 기설정된 거리(예: Bluetooth의 경우 10m 등) 이내에 위치한 기기를 중계 기기로 선택(또는 식별)할 수 있다.
일 실시 예로서, 프로세서(130)는 기기의 네트워크 연결과 관련된 정보(예: 기기의 식별 정보, 기기가 수행할 수 있는 통신 방식, 기기의 네트워크 상태 등)에 기초하여 예측된 기기 A(200-A) 및 전자 장치(100) 간 네트워크 연결을 중계하는 통신 성능을 결정할 수 있다. 그리고, 프로세서(130)는 통신 성능에 따라 복수의 기기(200) 중 가장 높은 통신 성능을 갖는 기기를 중계 기기로 선택(또는 식별)할 수 있다. 여기서, 통신 성능은 전송률(단위 Gbit/s 등), 전송 지연(단위 ms 등), 수신신호강도(단위 dBm 등), 통신 방식에 따른 최대 통신 거리 등과 같은 다양한 지표에 의해 결정될 수 있다. 또한, 각 지표들에 대해서는 가중치가 기설정될 수 있다. 예를 들어, 프로세서(130)는 각 지표들에 기설정된 가중치를 곱한 것을 합산하여 기기별 스코어를 산출할 수 있으며, 기기별 스코어 중 가장 높은 스코어를 갖는 기기를 중계 기기로 선택(또는 식별)할 수 있다.
한편, 프로세서(130)는 예측된 기기 A(200-A) 및 전자 장치(100) 간 네트워크 연결을 중계하는 중계 기기를 복수 개로 선택(또는 식별)할 수도 있다. 이 경우, 프로세서(130)는 복수의 중계 기기에 대해 우선 순위를 할당할 수 있다. 이때, 우선 순위는 복수의 중계 기기 중 네트워크 연결이 끊어질 것으로 예측되는 기기(예: 기기 A(200-A))와 네트워크 연결을 수행하도록 하는 중계 기기의 순서를 지칭할 수 있다. 예를 들어, 프로세서(130)는 통신 성능이 높은 순서로, 복수의 중계 기기에 대해 우선 순위를 할당하거나, 프로세서(130)는 예측된 기기 A(200-A)와 가까운 거리 순서로, 복수의 중계 기기에 대해 우선 순위를 할당할 수 있다.
여기서, 프로세서(130)는 기기의 종류(예: 전자 레인지, 에어컨 등)에 따라 가중치를 부여하여 복수의 중계 기기에 대해 우선 순위를 할당할 수 있다. 예를 들어, 전자 레인지가 동작시 발생되는 전자파(예: 음식물을 조리하기 위해 발생되는 2.45GHz 주파수의 전자파, 전자 레인지를 작동시키기 위해 발생되는 60Hz의 주파수의 전자파 등)로 인해 통신 성능이 급격히 저하될 수 있다. 이와 같은 상황을 방지하기 위해, 프로세서(130)는 전자 레인지에 낮은 가중치를 부여하여, 전자 레인지에 대해 다른 중계 기기보다 낮은 우선 순위를 할당할 수 있다.
그리고, 프로세서(130)는 연결관리 모듈(134) 및 데이터송수신 모듈(131)을 통해, 예측된 기기 A(200-A) 및 선택된 기기 B(200-B) 간 네트워크 연결을 위한 연결 정보를 예측된 기기(예: 기기 A(200-A)) 및 선택된 기기 B(200-B)로 전송하도록 통신부(110)를 제어할 수 있다(도 4b의 S450).
여기서, 연결 정보는 통신 방식 또는 대상이 되는 기기에 따라 동일하거나 다른 정보일 수 있다. 또한, 연결 정보는 각 모듈이 인식(또는 읽거나 사용)하기에 적합한 데이터 형식으로 구현될 수 있다.
구체적으로, 프로세서(130)는 연결관리 모듈(134)을 통해, 연결해제예측 모듈(132)에서 예측된 기기 A(200-A)에 대한 정보 및 중계기기선택 모듈(133)에서 선택된 기기 B(200-B)에 대한 정보에 액세스 하여(도 4a의 ②-3 및 ③), 액세스된 정보를 기초로 예측된 기기 A(200-A) 및 선택된 기기 B(200-B) 간 네트워크 연결을 위한 연결 정보를 생성할 수 있다. 이 경우, 프로세서(130)는 생성된 연결 정보를 데이터송수신 모듈(131)로 전달할 수 있다(도 4a의 ④-1). 그리고, 프로세서(130)는 데이터송수신 모듈(131)을 통해, 연결 정보를 예측된 기기(예: 기기 A(200-A)) 및 중계 기기(예: 기기 B(200-B))로 전송하도록 통신부(110)를 제어할 수 있다(도 4a의 ④-2 및 ④-3).
한편, 프로세서(130)는 연결해제예측 모듈(132)(또는 별도의 학습 모듈(미도시))을 통해 예측된 기기 A(200-A)가 기설정된 시간 이내에 네트워크 연결이 끊어졌는지 여부에 대한 결과를 학습 데이터로 하여 제1 인공지능 모델(121)을 재학습하고, 재학습된 제1 인공지능 모델(121)을 메모리(120)에 저장(또는 갱신)할 수 있다.
도 5a는 본 개시의 일 실시 예에 따른 전자 장치의 하드웨어에 결합된 소프트웨어 구성을 설명하기 위한 블록도이다. 도 5b는 본 개시의 일 실시 예에 따른 전자 장치의 동작을 설명하기 위한 순서도이다. 여기서, 도 5a는 복수의 모듈이 프로세서(130)에 의해 로딩(또는 실행)되어 프로세서(130)에서 동작되는 상태를 나타낸 것이며, 복수의 모듈은 메모리(120)에 저장되어 있을 수 있다. 또한, 특별한 사정이 없는 한 도 4a 및 도 4b에 대한 설명이 동일하게 적용될 수 있다는 점에서, 중복되는 내용은 생략하기로 한다.
도 5a 및 도 5b를 참조하면, 먼저, 프로세서(130)는 데이터송수신 모듈(131)을 통해, 통신부(110)에 의해 복수의 기기(200)로부터 정보(예: 환경 정보 등)를 수신할 수 있다(도 5a의 ①-1 및 ①-2, 도 5b의 S510).
그리고, 프로세서(130)는 연결해제예측 모듈(132)을 통해, 메모리(120)에 저장된 제1 인공지능 모델(121)을 로딩하고, 데이터송수신 모듈(131)로부터 수신된 정보(예: 환경 정보)를 제1 인공지능 모델(121)에 입력할 수 있다(도 5a의 ①-3 및 ①-4, 도 5b의 S520).
그리고, 프로세서(130)는 연결해제예측 모듈(132)을 통해, 복수의 기기(200) 중 하나의 네트워크 연결이 끊어질 것으로 예측되는 기기(예: 기기 A(200-A))를 식별할 수 있다(도 5a의 ②-1, 도 5b의 S530).
그리고, 프로세서(130)는 중계기기선택 모듈(133)을 통해, 메모리(120)에 저장된 제2 인공지능 모델(122)을 로딩하고, 데이터송수신 모듈(131)로부터 수신된 정보(예: 환경 정보) 및 연결해제예측 모듈(132)을 통해 네트워크 연결이 끊어질 것으로 예측된 기기(예: 기기 A(200-A))에 대한 정보를 제2 인공지능 모델(122)에 입력할 수 있다(도 5a의 ①-3, ②-2, ①-5 및 ②-3, 도 5b의 S540).
이를 위해, 제2 인공지능 모델(122)은 학습 데이터를 통해 네트워크 연결된 복수의 기기(200) 중에서 네트워크 연결이 끊어질 것으로 예측된 기기(예: 중계 대상 기기)의 네트워크 연결이 유지되도록 하는 다른 하나의 기기(예: 중계 기기)를 식별하도록 학습될 수 있다. 구체적으로, 제2 인공지능 모델(122)은 예측된 기기와 복수의 기기(200) 중 예측된 기기 주변에 위치하는 적어도 하나의 기기 간의 네트워크 연결을 위한 통신 상태에 대한 정보(예: 환경 정보 중 기기의 네트워크 연결과 관련된 정보 등) 및 네트워크 연결이 되는 시점을 포함하는 시간 동안 획득된 복수의 기기의 정보(예: 환경 정보 중 기기의 동작 진행 상태 또는 기기의 주변 환경과 관련된 정보 등)를 포함하는 학습 데이터에 기초하여 학습될 수 있다.
일 실시 예로서, 프로세서(130)는 특정한 시점에서의 출력 데이터(예: 중계 대상 기기 및 전자 장치(100) 간 네트워크 중계가 가능한 중계 기기에 대한 정보) 및 특정한 시점 이전에 획득된 입력 데이터(예: 복수의 기기(200) 각각으로부터 획득된 환경 정보)를 학습 데이터로 하여 제2 인공지능 모델(122)을 학습시킬 수 있다.
도 5c를 참조하여, 복수의 기기(200-1 내지 200-B) 중에서 중계 대상 기기를 기기 A(200-A)라고 가정하여 제2 인공지능 모델(122)을 학습시키는 방법을 설명하도록 한다.
이 경우, 프로세서(130)는 특정한 시점까지 획득된 환경 정보(510-1, 510-2, 510-B)를 입력 데이터(510)로 하고, 특정한 시점에서의 나머지 기기(200-1, 200-2, 200-B) 각각의 네트워크 연결의 중계 가능 상태(520-1, 520-2, 520-B)에 따라 식별되는 중계 기기에 대한 정보를 출력 데이터(520)로 하여, 제2 인공지능 모델(122)을 학습시킬 수 있다. 여기서, 환경 정보(510-1, 510-2, 510-B)는 복수의 기기(200-1 내지 200-B) 중 중계 대상 기기 A(200-A) 외의 나머지 기기(200-1, 200-2, 200-B) 각각으로부터 획득되는 환경 정보일 수 있다. 또한, 네트워크 연결의 중계 가능 상태는 중계 대상 기기 A(200-A) 및 전자 장치(100) 간 네트워크 연결의 중계 가능 또는 네트워크 연결의 중계 불가를 나타내는 정보일 수 있다.
예를 들어, 프로세서(130)는 제1 시점(예: 9시 22분)까지 복수의 기기(200-1 내지 200-B) 중 중계 대상 기기(예: 기기 A(200-A))를 제외한 나머지 기기(200-1, 200-2, 200-B) 각각으로부터 획득된 환경 정보(예: 9시부터 9시 22분까지의 시간 동안에 획득된 환경 정보 등)를 입력 데이터로 하고, 제1 시점(예: 9시 22분)에서 나머지 기기(200-1, 200-2, 200-B) 중 중계가 가능한 기기에 대한 정보(예: 기기 1(200-1) 및 기기 B(200-B)에 대한 정보)를 출력 데이터로 하여, 제2 인공지능 모델(122)을 학습시킬 수 있다. 또한, 프로세서(130)는 제2 시점(예: 9시 23분)까지 복수의 기기(200-1 내지 200-B) 중 중계 대상 기기(예: 기기 A(200-A))를 제외한 나머지 기기(200-1, 200-2, 200-B) 각각으로부터 획득된 환경 정보(예: 9시부터 9시 23분까지의 시간 동안에 획득된 환경 정보)를 입력 데이터로 하고, 제2 시점(예: 9시 23분)에서 나머지 기기(200-1, 200-2, 200-B) 중 중계가 가능한 기기에 대한 정보(예: 기기 B(200-B)에 대한 정보)를 출력 데이터로 하여, 제2 인공지능 모델(122)을 학습시킬 수 있다.
이와 같이, 프로세서(130)는 특정한 시점의 출력 데이터 및 특정한 시점까지 획득된 입력 데이터를 학습 데이터로 하여, 각 시점마다 제2 인공지능 모델(122)을 학습시킬 수 있다. 한편, 상술한 설명은 일 실시 예일 뿐이며, 프로세서(130)는 특정한 시점(예: 9시 20분) 이전의 시점(예: 9시 19분)까지 나머지 기기(200-1, 200-2, 200-B) 각각으로부터 획득된 환경 정보를 입력 데이터(510)로 하고, 특정한 시점(예: 9시 20분)에서의 나머지 기기(200-1, 200-2, 200-B) 각각의 네트워크 연결의 중계 가능 상태(520-1, 520-2, 520-B)에 따라 식별되는 중계 기기에 대한 정보를 출력 데이터(420)로 하여, 각 시점마다 제2 인공지능 모델(122)을 학습시킬 수도 있다.그리고, 프로세서(130)는 중계기기선택 모듈(133)을 통해, 복수의 기기(200) 중에서 예측된 기기 A(200-A)의 네트워크 연결이 유지되도록 하는 다른 하나의 기기(예: 기기 B(200-B))를 선택(또는 식별)할 수 있다(도 5b의 S550). 이때, 다른 하나의 기기는 중계 기기라고 지칭하기로 한다.
구체적으로, 프로세서(130)는 중계기기선택 모듈(133)을 통해, 네트워크 연결된 복수의 기기(200) 각각으로부터 획득된 환경 정보 및 네트워크 연결이 끊어질 것으로 예측된 기기 A(200-A)에 대한 정보를 입력 데이터로서 제2 인공지능 모델(122)에 입력하면, 제2 인공지능 모델(122)로부터 출력되는 출력 데이터를 획득할 수 있다(도 5a의 ③-1). 이 경우, 프로세서(130)는 제2 인공지능 모델(122)의 출력에 기초하여, 복수의 기기(200) 중 다른 하나의 기기를 중계 기기로서 식별(또는 선택)할 수 있다.
일 실시 예로서, 제2 인공지능 모델(122)의 출력은 네트워크 연결된 복수의 기기(200) 중 예측된 기기 A(200-A)를 제외한 나머지 각각에 대한 정량적인 값(예: 확률 값 등)을 포함할 수 있다. 이때, 정량적인 값은 중계 기기로서 적합한지 여부를 나타내는 값일 수 있다. 이 경우, 프로세서(130)는 복수의 기기(200) 중 제2 인공지능 모델(122)의 출력이 기설정된 값 이상인 기기를 중계 기기로서 선택할 수 있다.
일 실시 예로서, 제2 인공지능 모델(122)의 출력은 중계 기기에 대한 식별 정보(예: 기기 B(200-B)의 식별 정보)를 포함할 수 있다. 이 경우, 프로세서(130)는 복수의 기기(200) 중 식별 정보에 대응되는 기기(예: 기기 B(200-B))를 중계 기기로서 선택할 수 있다.
한편, 제2 인공지능 모델(122)은, 복수의 기기(200) 중에서 기기 A(200-A)가 제1 통신 방식(예: 브릿지 장치(300)와의 WiFi)을 통한 전자 장치(100)와의 네트워크 연결이 끊어질 것으로 예측되는 경우, 기기의 네트워크 연결과 관련된 정보(예: 기기의 식별 정보, 기기가 수행할 수 있는 통신 방식 등)를 학습 데이터로 하여 기기 A(200-A)가 수행할 수 있는 다른 제2 통신 방식(예: Bluetooth)을 수행할 수 있는 기기를 중계 기기로 선택(또는 식별)하도록 학습될 수 있다.
한편, 제2 인공지능 모델(122)은, 기기의 네트워크 연결과 관련된 정보(예: 기기의 식별 정보, 기기가 수행할 수 있는 통신 방식, 기기의 네트워크 상태 등)를 학습 데이터로 하여, 예측된 기기 A(200-A) 및 전자 장치(100) 간 네트워크 연결을 중계하는 통신 성능이 가장 높은 기기를 중계 기기로 선택(또는 식별)하도록 학습될 수 있다.
한편, 제2 인공지능 모델(122)은, 중계 기기가 복수 개로 선택(또는 식별)되는 경우, 각 중계 기기에는 우선 순위가 할당되도록 학습될 수 있다. 이때, 우선 순위는 복수의 중계 기기 중 네트워크 연결이 끊어질 것으로 예측되는 기기(예: 기기 A(200-A))와 네트워크 연결을 수행하도록 하는 중계 기기의 순서를 지칭할 수 있다. 또한, 제2 인공지능 모델(122)은 기기 종류에 따라 통신 성능에 변동이 생기는 기기(예: 전자 레인지 등)에 대해 낮은 우선 순위가 할당되도록 학습될 수 있다.
그리고, 프로세서(130)는 연결관리 모듈(134) 및 데이터송수신 모듈(131)을 통해, 예측된 기기 A(200-A) 및 선택된 기기 B(200-B) 간 네트워크 연결을 위한 연결 정보를 예측된 기기(예: 기기 A(200-A)) 및 선택된 기기 B(200-B)로 전송하도록 통신부(110)를 제어할 수 있다(도 5b의 S560).
구체적으로, 프로세서(130)는 연결관리 모듈(134)을 통해, 연결해제예측 모듈(132)에서 예측된 기기 A(200-A)에 대한 정보 및 중계기기선택 모듈(133)에서 선택된 기기 B(200-B)에 대한 정보에 액세스 하여(도 5a의 ②-4 및 ③-2), 액세스된 정보를 기초로 예측된 기기 A(200-A) 및 선택된 기기 B(200-B) 간 네트워크 연결을 위한 연결 정보를 생성할 수 있다. 이 경우, 프로세서(130)는 생성된 연결 정보를 데이터송수신 모듈(131)로 전달할 수 있다(도 5a의 ④-1). 그리고, 프로세서(130)는 데이터송수신 모듈(131)을 통해, 연결 정보를 예측된 기기(예: 기기 A(200-A)) 및 중계 기기(예: 기기 B(200-B))로 전송하도록 통신부(110)를 제어할 수 있다(도 5a의 ④-2 및 ④-3).
한편, 프로세서(130)는 중계기기선택 모듈(133)(또는 별도의 학습 모듈(미도시))을 통해 선택된 중계 기기 B(200-B)가 예측된 기기 A(200-A)의 네트워크 연결을 유지하는지 여부에 대한 결과를 학습 데이터로 하여 제2 인공지능 모델(122)을 재학습하고, 재학습된 제2 인공지능 모델(122)을 메모리(120)에 저장(또는 갱신)할 수 있다.
도 6a는 본 개시의 일 실시 예에 따른 전자 장치의 하드웨어에 결합된 소프트웨어 구성을 설명하기 위한 블록도이다. 도 6b는 본 개시의 일 실시 예에 따른 전자 장치의 동작을 설명하기 위한 순서도이다. 여기서, 도 6a는 복수의 모듈이 프로세서(130)에 의해 로딩(또는 실행)되어 프로세서(130)에서 동작되는 상태를 나타낸 것이며, 복수의 모듈은 메모리(120)에 저장되어 있을 수 있다. 또한, 특별한 사정이 없는 한 전술한 설명이 동일하게 적용될 수 있다는 점에서, 중복되는 내용은 생략하기로 한다.
도 6a 및 도 6b를 참조하면, 먼저, 프로세서(130)는 데이터송수신 모듈(131)을 통해, 통신부(110)에 의해 복수의 기기(200)로부터 정보(예: 환경 정보 등)를 수신할 수 있다(도 6a의 ①-1 및 ①-2, 도 6b의 S610).
그리고, 프로세서(130)는 연결해제예측 모듈(132)을 통해, 메모리(120)에 저장된 제1 인공지능 모델(121)을 로딩하고, 수신된 정보(예: 환경 정보)를 제1 인공지능 모델(121)에 입력할 수 있다(도 6a의 ①-3 및 ①-4, 도 6b의 S620).
그리고, 프로세서(130)는 연결해제예측 모듈(132)을 통해, 복수의 기기(200) 중 하나의 네트워크 연결이 끊어질 것으로 예측되는 기기(예: 기기 A(200-A))를 식별할 수 있다(도 6a의 ②-1, 도 6b의 S630).
일 실시 예로서, 프로세서(130)는 중계기기선택 모듈(133)을 통해 복수의 기기(200) 중 다른 하나의 기기(중계 기기)가 선택되면(도 6b의 S640, Yes), 연결관리 모듈(134)를 통해 예측된 기기 A(200-A) 및 선택된 기기 B(200-B) 간 네트워크 연결을 위한 연결 정보를 획득하고, 데이터송수신 모듈(131)을 통해 연결 정보를 예측된 기기(예: 기기 A(200-A)) 및 선택된 기기 B(200-B)로 전송하도록 통신부(110)를 제어할 수 있다(도 6b의 S650). 이에 대한 구체적인 내용은 도 4 내지 도 5에서 전술한 바 있다는 점에서 생략하기로 한다.
이와 다른 일 실시 예로서, 프로세서(130)는 중계기기선택 모듈(133)을 통해 복수의 기기(200) 중 다른 하나의 기기(중계 기기)가 선택되지 않는 경우를 가정하기로 한다(도 6b의 S640, No). 즉, 이는 네트워크 연결이 끊어질 것으로 예측된 기기 A(200-A)를 중계할 수 있는 적절한 중계 기기가 존재하지 않는 경우를 의미할 수 있다.
이 경우, 프로세서(130)는 예측정보생성 모듈(135)을 통해, 메모리(120)에 저장된 제3 인공지능 모델(123)을 로딩하고, 중계기기선택 모듈(133)에서 예측된 기기에 대한 정보(예: 기기 A(200-A)) 및 중계 기기의 미선택(또는 미식별)을 나타내는 정보가 수신되면(도 6a의 ②-2 및 ③-1), 예측된 기기에 대한 정보(예: 기기 A(200-A)) 및 환경 정보를 제3 인공지능 모델(123)에 입력할 수 있다(도 6a의 ①-3 및 ②-3, 도 6b의 S660).
여기서, 제3 인공지능 모델(123)은 네트워크 연결이 끊어질 것으로 예측된 기기 및 예측된 기기의 동작 진행 상태를 포함하는 학습 데이터에 기초하여 학습된 모델일 수 있다.
예를 들어, 네트워크 연결이 끊어질 것으로 예측된 기기 A(200-A)가 도 6c의 기기 X인 경우를 가정하면, 제3 인공지능 모델(123)은 기기 X의 시간 10시 20분까지의 누적된 동작 진행 상태를 포함하는 데이터를 입력 데이터로 하고, 시간 10시 21분의 동작 진행 상태를 출력 데이터로 하여, 학습될 수 있다. 또한, 제3 인공지능 모델(123)은 기기 X의 시간 10시 21분까지의 누적된 동작 진행 상태를 포함하는 데이터를 입력 데이터로 하고, 시간 10시 22분의 동작 진행 상태를 출력 데이터로 하여, 학습될 수 있다. 이와 같이, 제3 인공지능 모델(123)은 전술한 과정을 주기적으로 반복함으로써 학습될 수 있다.
또한, 도 6c를 참조하여 제3 인공지능 모델(123)은 기기 X, 기기 Y 등과 같이 기기마다 학습될 수 있다. 이때, 기기의 동작 진행 상태 중 출력되는 항목은 기기에 따라 다르게 설정될 수 있다.
예를 들어, 로봇 청소기(예: 도 6c의 기기 X)의 경우 출력되는 항목은 동작(예: 자동 청소, 구간 청소, 절전 모드 등), 현재 위치, 배터리 잔량, 이동 방향 등으로 기설정될 수 있다. 세탁기(예: 도 6c의 기기 Y)의 경우 출력되는 항목은 동작(예: 세탁, 헹굼, 탈수, 절전 모드 등), 완료율, 진행 시간, 남은 시간 등으로 기설정될 수 있다. 전자 레인지(미도시)의 경우 출력되는 항목은 동작(조리 모드, 해동 모드, 절전 모드 등), 완료율, 진행 시간, 남은 시간 등으로 기설정될 수 있다. TV(미도시)의 경우 출력되는 항목은 동작(방송 시청 모드, 영화 시청 모드, VOD 시청 모드 등), 시청 중인 컨텐츠의 이름, 완료율, 진행 시간, 남은 시간 등으로 기설정될 수 있다.
또한, 제3 인공지능 모델(123)의 학습 데이터는 네트워크 연결이 끊어질 것으로 예측된 기기(예: 기기 A(200-A))가 네트워크 연결이 끊어진 경우에 네트워크 연결이 끊어진 시간(예: 네트워크 연결이 끊어진 시점부터 네트워크 연결이 재개된 시점까지의 시간) 동안 기기에 의해 획득된 동작 진행 상태를 포함할 수 있다.
예를 들어, 프로세서(130)는 전자 장치(100) 간 네트워크 연결이 끊어진 후 네트워크 연결이 재개된 기기(예: 기기 A(200-A))로부터 기기의 동작 진행 상태와 관련된 정보를 통신부(110)를 통해 수신할 수 있다. 이때, 기기의 동작 진행 상태와 관련된 정보는 네트워크 연결이 끊어진 시간 동안 기기(예: 기기 A(200-A))에 의해 획득된 정보일 수 있다. 이 경우, 프로세서(130)는 수신된 정보를 학습 데이터로 하여 제3 인공지능 모델(123)을 학습할 수 있다.
그리고, 프로세서(130)는 예측정보생성 모듈(135)을 통해, 제3 인공지능 모델(123)로부터 출력되는 출력 데이터를 획득(또는 생성)할 수 있다(도 6a의 ④-1).
일 실시 예로서, 네트워크 연결이 끊어질 것으로 예측된 기기 A(200-A)가 도 6c의 기기 X이며, 시간 10시 25분에 네트워크 연결이 끊어지는 경우를 가정하여 설명하도록 한다.
이 경우, 프로세서(130)는 예측정보생성 모듈(135)을 통해, 도 6c와 같이 10시 20분부터 10시 24분까지 수신된 기기 X의 동작 진행 상태를 제3 인공지능 모델(123)에 입력하고, 제3 인공지능 모델(123)로부터 출력되는 출력 데이터를 획득할 수 있다. 이때, 출력 데이터는 10시 25분에 해당하는 기기 X의 동작 진행 상태에 대한 예측 정보일 수 있다.
이후, 프로세서(130)는 예측정보생성 모듈(135)을 통해, 10시 20분부터 10시 24분까지 수신된 기기 X의 동작 진행 상태 및 10시 25분의 예측 정보를 제3 인공지능 모델(123)에 입력하고, 제3 인공지능 모델(123)로부터 출력되는 출력 데이터를 획득할 수 있다. 이때, 출력 데이터는 10시 26분에 해당하는 기기 X의 동작 진행 상태에 대한 예측 정보일 수 있다.
이와 같은 과정을 반복함으로써, 프로세서(130)는 예측정보생성 모듈(135)을 통해 실시간으로(또는 일정 주기마다) 예측 정보를 획득할 수 있다.
그리고, 프로세서(130)는 제3 인공지능 모델(123)의 출력에 기초하여, 네트워크 연결이 끊어진 기기 A(200-A)의 동작 진행 상태에 대한 예측 정보를 제공할 수 있다(도 6b의 S670).
구체적으로, 프로세서(130)는 예측정보생성 모듈(135)을 통해, 제3 인공지능 모델(123)의 출력에 기초하여 네트워크 연결이 끊어진 기기 A(200-A)의 동작 진행 상태에 대한 예측 정보를 생성할 수 있다. 이 경우, 프로세서(130)는 예측정보생성 모듈(135)에서 생성된 예측 정보를 데이터송수신 모듈(131)로 전달할 수 있다. 그리고, 프로세서(130)는 데이터송수신 모듈(131)을 통해, 예측 정보를 복수의 기기(200) 중 네트워크 연결된 적어도 하나의 기기로 전송하도록 통신부(110)를 제어할 수 있다(도 6a의 ④-3 및 ④-4). 이때, 상기 적어도 하나의 기기는 기설정된 기기(예: 마스터 기기)일 수 있다.
프로세서(130)는 이와 같은 동작들을 실시간으로(또는 일정 주기마다) 반복하여 수행함으로써, 네트워크 연결이 끊어진 기기 A(200-A)의 동작 진행 상태에 대한 예측 정보를 실시간으로(또는 일정 주기마다) 제공할 수 있다.
도 7a는 본 개시의 일 실시 예에 따른 전자 장치의 하드웨어에 결합된 소프트웨어 구성을 설명하기 위한 블록도이다. 도 7b는 본 개시의 일 실시 예에 따른 전자 장치의 동작을 설명하기 위한 순서도이다. 여기서, 도 7a는 복수의 모듈이 프로세서(130)에 의해 로딩(또는 실행)되어 프로세서(130)에서 동작되는 상태를 나타낸 것이며, 복수의 모듈은 메모리(120)에 저장되어 있을 수 있다. 또한, 특별한 사정이 없는 한 전술한 설명이 동일하게 적용될 수 있다는 점에서, 중복되는 내용은 생략하기로 한다.
도 7a 및 도 7b를 참조하면, 먼저, 프로세서(130)는 데이터송수신 모듈(131)을 통해, 통신부(110)에 의해 복수의 기기(200)로부터 정보(예: 환경 정보 등)를 수신할 수 있다(도 7a의 ①-1 및 ①-2, 도 7b의 S710).
그리고, 프로세서(130)는 연결해제예측 모듈(132)을 통해, 제1 인공지능 모델(121)을 로딩하고, 데이터송수신 모듈(131)에서 수신된 정보(예: 환경 정보)를 제1 인공지능 모델(121)에 입력할 수 있다(도 7a의 ①-3 및 ①-4, 도 7b의 S720).
그리고, 프로세서(130)는 연결해제예측 모듈(132)을 통해, 제1 인공지능 모델(121)의 출력에 기초하여 복수의 기기(200) 중 하나의 네트워크 연결이 끊어질 것으로 예측되는 기기(예: 기기 A(200-A))를 식별할 수 있다(도 7a의 ②-1, 도 7b의 S730).
그리고, 프로세서(130)는 네트워크 연결이 끊어질 것으로 예측되는 기기(예: 기기 A(200-A))가 식별되면(S730, Yes), 중계기기선택 모듈(133)을 통해 메모리(120)에 저장된 제2 인공지능 모델(122)에 로딩하고, 연결해제예측 모듈(132)로부터 네트워크 연결이 끊어질 것으로 예측된 기기에 대한 정보(예: 기기 A(200-A)) 및 환경 정보를 수신하여(도 7a의 ①-3 및 ②-2), 상기 수신된 정보(예측된 기기에 대한 정보 및 환경 정보)를 제2 인공지능 모델(122)에 입력할 수 있다(도 7a의 ①-5 및 ②-3, 도 7b의 S740).
그리고, 프로세서(130)는 중계기기선택 모듈(133)을 통해, 복수의 기기(200) 중에서 예측된 기기 A(200-A)의 네트워크 연결이 유지되도록 하는 다른 하나의 기기(예: 기기 B(200-B))를 선택(또는 식별)할 수 있다(도 7b의 S750).
일 실시 예로서, 프로세서(130)는 중계기기선택 모듈(133)을 통해 복수의 기기(200) 중 다른 하나의 기기(중계 기기)가 선택되면(도 7a의 ②-4 및 ③-2, 도 7b의 S750, Yes), 연결관리 모듈(134) 및 데이터송수신 모듈(131)을 통해 예측된 기기 A(200-A) 및 선택된 기기 B(200-B) 간 네트워크 연결을 위한 연결 정보를 예측된 기기(예: 기기 A(200-A)) 및 선택된 기기 B(200-B)로 전송하도록 통신부(110)를 제어할 수 있다(도 7a의 ④-1, ④-2 및 ④-3, 도 7b의 S760).
이와 다른 일 실시 예로서, 복수의 기기(200) 중 다른 하나의 기기(중계 기기)가 선택되지 않는 경우(도 7a의 ②-4' 및 ③-2', 도 7b의 S750, No), 프로세서(130)는 예측정보생성 모듈(135)을 통해 메모리(120)에 저장된 제3 인공지능 모델(123)을 로딩하고, 네트워크 연결이 끊어질 것으로 예측된 기기 A(200-A) 및 환경 정보를 제3 인공지능 모델(123)에 입력할 수 있다(도 7a의 ①-6', ②-5'및 ④-1', 도 7b의 S770).
이 경우, 프로세서(130)는 예측정보생성 모듈(135)을 통해 제3 인공지능 모델(123)의 출력에 기초하여 예측된 기기 A(200-A)의 동작 진행 상태에 대한 예측 정보를 획득하고(도 7a의 ④-1'), 데이터송수신 모듈(131)을 통해 예측 정보를 복수의 기기(200) 중 적어도 하나의 기기로 전송하도록 통신부(110)를 제어함으로써 사용자에게 예측 정보를 제공할 수 있다(도 7a의 ④-2', ④-3'및 ④-4', 도 7b의 S780).
한편, 전자 장치(100)는 기기 A(200-A)와의 네트워크 연결이 끊어진 후 네트워크 연결이 재개되면, 통신부(110)를 통해 기기 A(200-A)로부터 기기 A(200-A)의 네트워크 연결이 끊어진 동안 획득된 동작 진행 상태를 포함하는 환경 정보를 수신할 수 있다. 이 경우, 프로세서(140)는 통신부(110)를 통해 수신된 기기 A(200-A)의 동작 진행 상태가 예측 정보를 대체하도록 갱신할 수 있다. 또한, 프로세서(140)는 예측정보생성 모듈(135)(또는 별도의 학습 모듈(미도시))을 통해 상기 수신된 기기 A(200-A)의 동작 진행 상태를 학습 데이터로 하여 제3 인공지능 모델(123)을 재학습하고, 재학습된 제3 인공지능 모델(123)을 메모리(120)에 저장(또는 갱신)할 수 있다.
도 8a 내지 13b는 본 개시의 일 실시 예에 따른 전자 장치를 설명하기 위한 도면이다.
도 8a 내지 8c를 참조하면, 전자 장치(100)는 복수의 기기(200-1 내지 200-B)와 네트워크 연결될 수 있다.
예를 들어, 도 8a를 참조하여 전자 장치(100)는 기기 1(200-1)과 무선 5G 이동통신을 통해 네트워크 연결될 수 있다. 또한, 전자 장치(100)는 기기 2(200-1), 기기 A(200-A) 및 기기 B(200-B)와 브릿지 장치(300)를 통해 네트워크 연결될 수 있다. 이때, 브릿지 장치(300)는 기기 2(200-1), 기기 A(200-A)와 무선 WiFi 방식으로 연결되고, 기기 B(200-B)와 유선 이더넷 방식으로 연결될 수 있다. 다만, 이는 일 실시 예일 뿐이며, 복수의 기기(200-1 내지 200-B) 각각은 다양한 방식으로 전자 장치(100)와 네트워크 연결되는 것이 가능하다.
여기서, 전자 장치(100)는 네트워크 연결된 복수의 기기(200-1 내지 200-B) 각각으로부터 정보(예: 환경 정보)를 수신할 수 있다.
이 경우, 도 8b를 참조하여, 전자 장치(100)는 복수의 기기(200-1 내지 200-B) 각각으로부터 수신된 환경 정보 중에서 식별 정보에 기초하여, 복수의 기기(200-1 내지 200-B)의 리스트를 전자 장치(100)의 디스플레이(810)에 표시할 수 있다. 이하에서는 설명의 편의를 위해, 도 8b에서 복수의 기기(200-1 내지 200-B) 중에서 로봇 청소기인 기기 A(200-A)를 선택한 경우를 가정하여 설명하기로 한다.
그리고, 도 8c를 참조하여, 전자 장치(100)는 복수의 기기(200-1 내지 200-B)의 리스트(811) 중 하나의 기기(813)를 선택하는 사용자 명령이 수신되면, 디스플레이(810)에 선택된 기기에 대한 UI(User Interface)(820)를 표시할 수 있다.
여기서, 선택된 기기 A(200-A)에 대한 UI(820)는 선택된 기기 A(200-A)를 제어하기 위한 제어 UI(821) 및 선택된 기기 A(200-A)에 대한 정보 UI(825)를 포함할 수 있다.
예를 들어, 제어 UI(821)는 선택된 기기 A(200-A)가 자동 청소 모드를 수행하기 위한 제어 아이콘(822), 선택된 기기 A(200-A)가 수동 청소 모드(예: 좌회전, 직진 이동, 우회전 등)를 수행하기 위한 제어 아이콘(823)을 포함할 수 있다.
또한, 선택된 기기 A(200-A)에 대한 정보 UI(825)는 선택된 기기 A(200-A)로부터 수신된 환경 정보 중 기기의 동작 진행 상태에 대한 정보를 포함할 수 있다. 예를 들어, 선택된 기기 A(200-A)에 대한 정보 UI(825)는 기기 A(200-A)가 수행하는 동작에 대한 정보(예: 대기중 등)(826), 기기 A(200-A)의 현재 위치(예: P(100, 5) 등)가 표시된 맵 데이터(827)를 포함할 수 있다.
이하에서는, 전자 장치(100)에 표시된 제어 UI(821)에서 자동 청소 모드를 수행하기 위한 제어 아이콘(822)을 선택하는 사용자 명령이 수신된 경우를 가정하여 설명하도록 한다.
전자 장치(100)는 제어 UI(821)에서 자동 청소 모드를 수행하기 위한 제어 아이콘(822)을 선택하는 사용자 명령이 수신되면, 기기 A(200-A)가 자동 청소 모드를 수행하도록 하는 제어 명령을 기기 A(200-A)로 통신부(110)를 통해 전송할 수 있다.
도 9a를 참조하여, 기기 A(200-A)는 수신된 제어 명령에 따라 대기 모드에서 자동 청소 모드로 변환하고, 자동 청소 모드에 따라 실내에서 위치를 이동하면서 청소를 수행할 수 있다. 이때, 기기 A(200-A)는 청소를 수행하는 동안 네트워크 연결된 전자 장치(100)로 환경 정보를 전송할 수 있다. 특히, 환경 정보는 기기 A(200-A)의 동작 진행 상태를 포함할 수 있다.
도 9a 및 도 9b를 참조하여, 전자 장치(100)는 복수의 기기(200-1 내지 200-B) 각각으로부터 수신된 환경 정보를 디스플레이(미도시)에 표시할 수 있다. 특히, 전자 장치(100)는 복수의 기기(200-1 내지 200-B)의 리스트(811) 중 기기 A(200-A)가 선택된 경우, 도 9b와 같이 선택된 기기 A(200-A)에 대한 UI(920)를 디스플레이에 표시할 수 있다.
여기서, 기기 A(200-A)에 대한 UI(920)는 기기 A(200-A)를 제어하기 위한 제어 UI(921) 및 선택된 기기 A(200-A)에 대한 정보 UI(925)를 포함할 수 있다. 이때, 선택된 기기 A(200-A)에 대한 정보 UI(925)는 선택된 기기 A(200-A)로부터 수신된 환경 정보 중 기기의 동작 진행 상태에 대한 정보를 포함할 수 있다. 예를 들어, 선택된 기기 A(200-A)에 대한 정보 UI(925)는 기기 A(200-A)가 수행하는 동작에 대한 정보(예: 자동 청소 모드 등)(926), 기기 A(200-A)의 현재 위치(예: P(70, 50) 등)가 표시된 맵 데이터(927)를 포함할 수 있다. 또한, 맵 데이터(927)는 선택된 기기 A(200-A)가 이동한 위치, 선택된 기기 A(200-A)가 센싱한 주변 사물에 대한 정보 등을 포함할 수 있다.
이하에서는, 자동 청소 모드를 수행 중인 기기 A(200-A)가 브릿지 장치(300)와의 WiFi 연결이 끊어질 수 있는 지역(음영 지역)으로 이동하는 경우를 가정하여 설명하기로 한다.
이 경우, 전자 장치(100)는 네트워크 연결된 복수의 기기(200-1 내지 200-B) 각각으로부터 정보(예: 환경 정보)를 수신할 수 있다. 그리고, 전자 장치(100)는 수신된 환경 정보를 제1 인공지능 모델(121)에 입력하고, 제1 인공지능 모델(121)의 출력에 기초하여 복수의 기기(200-1 내지 200-B) 중 네트워크 연결이 끊어질 기기(예: 기기 A(200-A))를 예측할 수 있다.
그리고, 전자 장치(100)는 네트워크 연결이 끊어질 것으로 예측된 기기 A(200-A)에 대한 정보 및 수신된 환경 정보를 제2 인공지능 모델(122)에 입력하고, 제2 인공지능 모델(122)의 출력에 기초하여 복수의 기기(200-1 내지 200-B) 중 네트워크 연결이 끊어질 기기(예: 기기 A(200-A))의 네트워크 연결을 유지하기 위한 중계 기기를 선택할 수 있다.
먼저, 일 실시 예로서 중계 기기가 기기 B(200-B)로 선택된 경우에 대해서는 도 10 내지 도 11b를 참조하여 설명하기로 한다.
이 경우, 도 10을 참조하여, 전자 장치(100)는 네트워크 연결이 끊어질 것으로 예측된 기기 A(200-A) 및 선택된 기기 B(200-B) 간 네트워크 연결을 위한 연결 정보를 네트워크 연결이 끊어질 것으로 예측된 기기 A(200-A) 및 선택된 기기 B(200-B)로 전송할 수 있다.
이후, 도 11a를 참조하여, 브릿지 장치(300)와의 WiFi 방식에 따른 네트워크 연결이 끊어질 것으로 예측된 기기 A(200-A)가 브릿지 장치(300)의 WiFi 음영 지역으로 이동하면, 기기 A(200-A)는 브릿지 장치(300)와의 WiFi 연결이 끊어질 수 있다. 이때, 기기 A(200-A) 및 기기 B(200-B)는 전자 장치(100)로부터 수신된 연결 정보에 따라 상호간 다른 통신 방식(예: Bluetooth 등)을 통해 네트워크 연결을 수행할 수 있다. 한편, 이는 일 실시 예일 뿐이며, 기기 A(200-A)는 브릿지 장치(300)와의 WiFi 연결이 끊어지기 전이라도 기기 A(200-A) 및 기기 B(200-B)는 전자 장치(100)로부터 수신된 연결 정보에 따라 상호간 다른 통신 방식(예: Bluetooth 등)을 통해 네트워크 연결을 수행할 수도 있다.
이에 따라, 전자 장치(100) 및 기기 A(200-A)는 기기 B(200-B)를 통해 네트워크 연결이 유지될 수 있다.
이 경우, 전자 장치(100)는 기기 A(200-A)로부터 기기 A(200-A)의 동작 진행 상태를 수신하여 디스플레이(미도시)에 표시할 수 있다. 또한, 전자 장치(100)는 기기 A(200-A)가 특정한 동작을 수행하도록 제어하기 위한 제어 명령을 기기 A(200-A)로 전송할 수 있다.
예를 들어, 도 11b와 같이 전자 장치(100)는 기기 A(200-A)에 대한 UI(1120)를 디스플레이(미도시)에 표시할 수 있다. 이때, 기기 A(200-A)에 대한 UI(1120)는 기기 A(200-A)를 제어하기 위한 제어 UI(1121) 및 선택된 기기 A(200-A)에 대한 정보 UI(1125)를 포함할 수 있다.
여기서, 전자 장치(100)는 제어 UI(1121)를 통해 기기 A(200-A)를 제어할 수 있으며, 기기 A(200-A)에 대한 정보 UI(1125)를 통해 기기 A(200-A)의 동작 진행 상태(예: 기기 A(200-A)가 수행하는 동작에 대한 정보(예: 자동 청소 모드, 95% 완료 등)(1126), 기기 A(200-A)의 현재 위치(예: P(95, 40) 등)가 표시된 맵 데이터(1127) 등)를 표시할 수 있다.
한편, 다른 일 실시 예로서 중계 기기가 선택되지 않은 경우에 대해서는 도 12a 내지 도 14b를 참조하여 설명하기로 한다.
도 12a 및 도 12b를 참조하여, 전자 장치(100)는 네트워크 연결된 복수의 기기(200-1 내지 200-B) 각각으로부터 정보(예: 환경 정보)를 수신할 수 있다. 그리고, 전자 장치(100)는 수신된 환경 정보를 제1 인공지능 모델(121)에 입력하고, 제1 인공지능 모델(121)의 출력에 기초하여 복수의 기기(200-1 내지 200-B) 중 네트워크 연결이 끊어질 기기(예: 기기 A(200-A))를 예측할 수 있다.
그리고, 전자 장치(100)는 네트워크 연결이 끊어질 것으로 예측된 기기 A(200-A)에 대한 정보 및 복수의 기기(120-1 내지 120-B)로부터 수신된 환경 정보를 제2 인공지능 모델(122)에 입력하고, 제2 인공지능 모델(122)의 출력에 기초하여 중계 기기의 미선택(또는 미식별)을 나타내는 정보를 획득할 수 있다.
이 경우, 전자 장치(100)는 예측된 기기 A(200-A)가 네트워크 연결이 끊어지기 전까지 수신된 기기 A(200-A)의 동작 진행 상태를 포함하는 정보를 제3 인공지능 모델(123)에 입력하고, 제3 인공지능 모델(123)의 출력에 기초하여 기기 A(200-A)의 동작 진행 상태에 대한 예측 정보를 획득할 수 있다.
또한, 이 경우 기기 A(200-A)가 네트워크 연결이 끊어지기 전의 상태이므로, 도 12b와 같이 전자 장치(100)는 기기 A(200-A)로부터 기기 A(200-A)의 동작 진행 상태를 수신하여 디스플레이에 표시할 수 있다.
여기서, 도 13a 및 도 13b를 참조하여, 전자 장치(100)는 기기 A(200-A)의 네트워크 연결이 끊어진 경우, 기기 A(200-A)의 네트워크 연결이 끊어지기 전에 기기 A(200-A)로부터 수신된 정보(예: 기기 A(200-A)에 대한 정보 및 환경 정보)를 제3 인공지능 모델(123)에 입력하고, 제3 인공지능 모델(123)의 출력에 기초해 기기 A(200-A)의 동작 진행 상태에 대한 예측 정보를 사용자에게 제공할 수 있다.
예를 들어, 도 13b와 같이 전자 장치(100)는 디스플레이에 기기 A(200-A)에 대한 UI(1320)를 표시할 수 있다. 이때, 기기 A(200-A)에 대한 UI(1320)는 기기 A(200-A)를 제어할 수 없다는 것을 알리는 UI(1321)(예: 흐림 상태로 표시 등) 및 기기 A(200-A)에 대한 정보 UI(1325)를 포함할 수 있다. 여기서, 선택된 기기 A(200-A)에 대한 정보 UI(1325)는 기기 A(200-A)의 동작 진행 상태에 대한 예측 정보를 포함할 수 있다.
예를 들어, 기기 A(200-A)에 대한 정보 UI(1325)는 기기 A(200-A)가 수행할 것으로 추정되는 동작에 대한 정보(예: 자동 청소 모드, 완료율 93% 등)(1326), 기기 A(200-A)의 현재 위치로 추정되는 위치(예: P(90, 50) 등)가 표시된 맵 데이터(1327)를 포함할 수 있다. 이때, 맵 데이터(1327)는 기기 A(200-A)의 현재 위치로 추정되는 위치에 대한 정보(예: 기기 A(200-A)의 위치, 또는 기기 A(200-A)가 특정한 영역(1328) 내에 위치한다는 것을 나타내는 정보 등)를 더 포함할 수도 있다. 또한, 맵 데이터(1327)는 기기 A(200-A)가 이동한 위치로 추정되는 이동 경로(1329)에 대한 정보를 더 포함할 수 있다. 즉, 전자 장치(100)는 정보 UI(1325)를 통해 네트워크 연결이 끊어진 기기 A(200-A)의 위치 또는 네트워크 연결이 끊어진 기기 A(200-A)의 이동 경로를 시각적으로 표시할 수 있다.
이를 위해, 제3 인공지능 모델(123)은 기기 A(200-A)가 특정한 영역(1328)에서 기설정된 시간 동안 이동한 경로(예: 9시 20분에서 기기 A(200-A)의 위치(20, 80), 9시 21분에서 기기 A(200-A)의 위치(20, 75), ?? 등) 를 학습 데이터로 하여 기학습될 수 있다. 이에 대한 내용은 도 6c에서 설명한 내용이 적용될 수 있다는 점에서, 중복되는 내용은 생략하기로 한다.
한편, 네트워크 연결이 끊어진 기기 A(200-A)는 네트워크 연결이 끊어진 동안 기기의 동작 진행 상태와 관련된 정보를 획득할 수 있다.
이후, 도 14a 및 도 14b를 참조하여, 기기 A(200-A)가 브릿지 장치(300)와의 WiFi 연결이 가능한 지역으로 이동하여, 기기 A(200-A)가 브릿지 장치(300)와 연결이 재개되는 것을 가정하도록 한다. 이는, 기기 A(200-A)가 전자 장치(100)와의 네트워크 연결이 재개되는 것을 의미할 수 있다.
이 경우, 전자 장치(100)는 전자 장치(100) 간 네트워크 연결이 끊어진 후 네트워크 연결이 재개된(또는 재연결된) 기기 A(200-A)로부터 기기 A(200-A)의 동작 진행 상태와 관련된 정보를 통신부(110)를 통해 수신할 수 있다.
도 14b를 참조하면, 전자 장치(100)는 네트워크 연결이 재개된 기기 A(200-A)로부터 수신된 정보를 디스플레이에 표시할 수 있다. 또한, 전자 장치(100)는 네트워크 연결이 재개된 기기 A(200-A)를 제어할 수 있다.
예를 들어, 도 14b와 같이 전자 장치(100)는 디스플레이에 기기 A(200-A)에 대한 UI(1420)를 표시할 수 있다. 이때, 기기 A(200-A)에 대한 UI(1420)는 기기 A(200-A)를 제어하기 위한 제어 UI(1421) 및 기기 A(200-A)에 대한 정보 UI(1425)를 포함할 수 있다. 여기서, 기기 A(200-A)에 대한 정보 UI(1425)는 기기 A(200-A)로부터 수신된 기기 A(200-A)의 동작 진행 상태를 포함할 수 있다.
예를 들어, 기기 A(200-A)에 대한 정보 UI(1425)는 기기 A(200-A)가 수행하는 동작에 대한 정보(예: 자동 청소 모드 등)(1426), 기기 A(200-A)의 현재 위치(예: P(60, 50) 등)가 표시된 맵 데이터(1427)를 포함할 수 있다. 이때, 맵 데이터(1427)는 네트워크 연결이 끊어진 동안 특정 영역(1428)에 대해 획득된 기기 A(200-A)의 정보를 포함할 수 있다.
이와 같이, 전자 장치(100)는 기기 A(200-A)가 네트워크 연결이 끊어진 동안 수신할 수 없었던 정보를 기기 A(200-A)가 네트워크 연결이 재개 된 이후에 수신하여 업데이트 할 수 있다.
한편, 도 12a 내지 도 14b의 실시 예에서, 제3 인공지능 모델(123)이 기학습되지 않은 경우를 가정하여 설명하도록 한다.
여기서, 도 13a에 도시된 기기 A(200-A)의 네트워크 연결이 끊어진 경우가 발생하면, 전자 장치(100)는 도 13b와는 달리 네트워크 연결이 끊어진 기기 A(200-A)의 동작 진행 상태에 대한 예측 정보를 제공하지 못할 수 있다. 이 경우, 기기 A(200-A)는 네트워크 연결이 끊어진 동안 기기의 동작 진행 상태와 관련된 정보를 획득하여 기기 A(200-A)의 메모리에 저장하며, 이후 기기 A(200-A)가 전자 장치(100)와의 네트워크 연결이 재개되면, 기기 A(200-A)는 메모리에 저장된 기기 A(200-A)의 동작 진행 상태와 관련된 정보를 전자 장치(100)로 전송할 수 있다.
그리고, 전자 장치(100)는 기기 A(200-A)로부터 수신된 기기 A(200-A)의 동작 진행 상태와 관련된 정보를 학습 데이터로 하여 제3 인공지능 모델(123)을 학습시킬 수 있다. 이후, 도 13a에 도시된 기기 A(200-A)의 네트워크 연결이 끊어진 경우가 발생하면, 전자 장치(100)는 도 13b와 같이 기기 A(200-A)의 네트워크 연결이 끊어지기 전에 기기 A(200-A)로부터 수신된 정보(예: 기기 A(200-A)에 대한 정보 및 환경 정보)를 제3 인공지능 모델(123)에 입력하고, 제3 인공지능 모델(123)의 출력에 기초해 기기 A(200-A)의 동작 진행 상태에 대한 예측 정보를 사용자에게 제공할 수 있다.한편, 상술한 설명에서는 전자 장치(100)에 UI(또는 UI에 포함된 정보)가 표시되는 것으로 설명하였으나, 전자 장치(100)는 UI에 포함된 정보를 저장하고 복수의 기기(200-1 내지 200-B) 중 어느 하나의 기기로 전송하는 역할을 수행하고, 복수의 기기(200-1 내지 200-B) 중 어느 하나의 기기가 수신된 정보(또는 UI)를 표시하는 역할을 수행하는 등 다양한 변형 실시 예가 가능하다.
도 15는 본 개시의 일 실시 예에 따른 전자 장치를 제어하는 제어 방법을 설명하기 위한 흐름도이다. 제어 방법의 각 단계에 대해서는 전술한 전자 장치(100)에 대한 설명이 동일하게 적용될 수 있다.
본 개시의 일 실시 예에 따른 전자 장치의 제어 방법은 전자 장치와 네트워크 연결된 복수의 기기 중 적어도 하나로부터 수신된 정보를 전자 장치와 네트워크 연결이 끊어질 기기를 예측하도록 학습된 제1 인공지능 모델에 입력하는 단계(S1510) 및 제1 인공지능 모델의 출력에 기초하여 복수의 기기 중 하나의 네트워크 연결이 끊어질 것으로 예측되면, 복수의 기기 중 다른 하나를 통해 예측된 기기의 네트워크 연결이 유지되도록 예측된 기기를 제어하는 단계(S1520)를 포함한다.
여기에서, 제1 인공지능 모델은 전자 장치와 네트워크 연결된 복수의 기기 중 전자 장치와 네트워크 연결이 끊어진 기기의 정보 및 네트워크 연결이 끊어진 시점을 포함하는 시간 동안에서의 복수의 기기의 정보를 포함하는 학습 데이터에 기초하여 학습된 모델일 수 있다.
한편, 복수의 전자 장치와 전자 장치 간의 통신 방식은 예측된 기기와 다른 하나의 기기 간의 통신 방식과 상이할 수 있다.
한편, 복수의 기기 각각의 정보는 기기의 동작 진행 상태, 기기의 네트워크 연결과 관련된 정보 및 기기의 주변 환경과 관련된 정보 중 적어도 하나를 포함할 수 있다.
한편, 제어하는 단계는 예측된 기기에서 획득된 정보를 다른 하나의 기기로 전송하도록 하는 제어 신호를 예측된 기기로 전송하고, 예측된 기기로부터 수신된 정보를 전자 장치로 전송하도록 하는 제어 신호를 다른 하나의 기기로 전송하는 것을 포함할 수 있다.
여기에서, 제어하는 단계는 예측된 기기와 전자 장치 간 네트워크 연결이 끊어지면, 예측된 기기에서 획득된 정보를 다른 하나의 기기로부터 수신하는 것을 포함할 수 있다.
한편, 제어하는 단계는 수신된 각 기기의 정보를 전자 장치와 네트워크 연결된 복수의 기기 중 다른 하나의 기기를 식별하도록 학습된 제2 인공지능 모델에 입력하는 단계 및 제2 인공지능 모델의 출력에 기초하여 다른 하나의 기기를 식별하는 단계를 포함할 수 있다.
여기에서, 제2 인공지능 모델은 식별된 기기와 복수의 기기 중 식별된 기기 주변에 위치하는 적어도 하나의 기기 간의 네트워크 연결을 위한 통신 상태에 대한 정보 및 네트워크 연결이 되는 시점을 포함하는 시간 동안 획득된 복수의 기기의 정보를 포함하는 학습 데이터에 기초하여 학습된 모델일 수 있다.
한편, 본 개시의 제어 방법은 다른 하나의 기기가 식별되지 않는 경우, 예측된 기기의 현재까지의 동작 진행 상태와 관련된 정보를 복수의 기기 각각의 동작 진행 상태를 예측하도록 학습된 제3 인공지능 모델에 입력하여 예측된 기기의 이후 동작 진행 상태에 대한 예측 정보를 획득하는 단계 및 획득된 예측 정보를 복수의 기기 중 적어도 하나로 전송하는 단계를 더 포함할 수 있다.
여기에서, 본 개시의 제어 방법은 예측된 기기와 전자 장치 간 네트워크 연결이 끊어진 후 네트워크 연결이 재개되면(또는 재연결되면), 네트워크 연결이 끊어진 시간 동안 예측된 기기의 동작 진행 상태와 관련된 정보를 예측된 기기로부터 수신하는 단계 및 수신된 정보에 기초하여 제3 인공지능 모델을 학습하는 단계를 더 포함할 수 있다.
도 16은 본 개시의 일 실시 예에 따른 전자 장치가 시스템으로 구현된 경우를 설명하기 위한 도면이다.
전자 장치(100)는 서버 시스템으로 구현될 수 있다. 여기서, 서버 시스템은 복수의 전자 장치로 구성될 수 있다. 이 경우, 복수의 전자 장치는 전술한 전자 장치(100)의 동작을 나누어 수행할 수 있다. 이하에서는 설명의 편의를 위해 도 16과 같이 제1 전자 장치(100-1) 및 제2 전자 장치(100-2)으로 이루어지는 서버 시스템을 가정하도록 한다.
도 16을 참조하여, 전자 장치(100)는 제1 전자 장치(100-1) 및 제2 전자 장치(100-2)를 포함할 수 있다. 제1 전자 장치(100-1) 및 제2 전자 장치(100-2)는 각각의 제1 통신부(110-1) 및 제2 통신부(110-2)를 통해 네트워크 연결될 수 있다. 여기서, 네트워크 연결 방식은 유선 또는 무선 통신 방식으로 연결될 수 있으며, 전술한 내용과 중복된다는 점에서 구체적인 내용은 생략하기로 한다.
제1 전자 장치(100-1)는 제1 통신부(110-1), 제1 메모리(120-1) 및 제1 프로세서(130-1)를 포함할 수 있다. 또한, 제2 전자 장치(100-2)는 제2 통신부(110-2), 제2 메모리(120-2) 및 제2 프로세서(130-2)를 포함할 수 있다. 여기서, 제1 통신부(110-1) 및 제2 통신부(110-2)에는 통신부(110)에 대한 설명이 적용되며, 제1 메모리(120-1) 및 제2 메모리(120-2)에는 메모리(120)에 대한 설명이 적용되며, 제1 프로세서(130-1) 및 제2 프로세서(130-2)에는 프로세서(130)에 대한 설명이 적용될 수 있다는 점에서, 중복되는 내용은 생략하기로 한다.
한편, 도 16은 각 모듈이 제1 및 제2 프로세서(130-1, 130-2) 각각에 의해 로딩(또는 실행)되어 제1 및 제2 프로세서(130-1, 130-2) 각각에서 동작되는 상태를 나타낸 것이며, 각 모듈은 제1 메모리(120-1) 또는 제2 메모리(120-2)에 저장될 수 있다. 또한, 제1 인공지능 모델(121) 및 제2 인공지능 모델(122)은 제1 메모리(120-1)에 저장되며, 제3 인공지능 모델(123)은 제2 메모리(120-2)에 저장될 수 있다.
제1 전자 장치(100-1)의 제1 프로세서(130-1)는 제1 데이터송수신 모듈(131-1)을 통해, 복수의 기기(200)로부터 정보(예: 환경 정보 등)를 제1 통신부(110-1)에 의해 수신할 수 있다(도 16의 ①-1 및 ①-2).
그리고, 제1 전자 장치(100-1)의 제1 프로세서(130-1)는 연결해제예측 모듈(132)을 통해, 제1 메모리(120-1)에 저장된 제1 인공지능 모델(121)을 로딩하고, 제1 데이터송수신 모듈(131-1)로부터 수신된 정보(예: 환경 정보)를 제1 인공지능 모델(121)에 입력하고, 제1 인공지능 모델(121)의 출력에 기초하여 복수의 기기(200) 중 하나의 네트워크 연결이 끊어질 것으로 예측되는 기기(예: 기기 A(200-A))를 식별할 수 있다(도 16의 ①-3 및 ②).
그리고, 제1 프로세서(130-1)는 연결해제예측 모듈(132)에서 네트워크 연결이 끊어질 것으로 예측되는 기기(예: 기기 A(200-A))가 식별되면, 중계기기선택 모듈(133)을 통해 네트워크 연결이 끊어질 것으로 예측된 기기에 대한 정보(예: 기기 A(200-A)) 및 환경 정보를 연결해제예측 모듈(132)로부터 수신하고(도 16의 ①-4 및 ③-1), 제1 메모리(120-1)에 저장된 제2 인공지능 모델(122)을 로딩하고, 연결해제예측 모듈(132) 또는 제1 데이터송수신 모듈(131-1)로부터 수신된 정보(예측된 기기에 대한 정보 및 환경 정보)를 제2 인공지능 모델(122)에 입력할 수 있다(도 16의 ④).
그리고, 제1 프로세서(130-1)는 중계기기선택 모듈(133)을 통해, 복수의 기기(200) 중에서 예측된 기기 A(200-A)의 네트워크 연결이 유지되도록 하는 다른 하나의 기기(예: 기기 B(200-B))를 선택(또는 식별)할 수 있다.
일 실시 예로서, 제1 프로세서(130-1)는 중계기기선택 모듈(133)을 통해 복수의 기기(200) 중 다른 하나의 기기(중계 기기)가 선택되면(도 16의 ③-2 및 ⑤), 연결관리 모듈(134) 및 제1 데이터송수신 모듈(131-1)을 통해 예측된 기기 A(200-A) 및 선택된 기기 B(200-B) 간 네트워크 연결을 위한 연결 정보를 예측된 기기(예: 기기 A(200-A)) 및 선택된 기기 B(200-B)로 전송하도록 제1 통신부(110-1)를 제어할 수 있다(도 16의 ⑥-1, ⑥-2 및 ⑥-3).
이와 다른 일 실시 예로서, 제1 프로세서(130-1)는 중계기기선택 모듈(133)을 통해 복수의 기기(200) 중 다른 하나의 기기(중계 기기)가 선택되지 않는 경우(도 16의 ③-1' 및 ⑤'), 제1 데이터송수신 모듈(131-1)을 통해 복수의 기기(200) 중 네트워크 연결이 끊어질 것으로 예측된 기기 A(200-A)에 대한 정보 및 환경 정보를 제2 전자 장치(100-2)로 전송하도록 제1 통신부(110-1)를 제어할 수 있다(도 16의 ③-2' 및 ①-1'). 이때, 전송되는 환경 정보는 기기 A(200-A)에 대한 환경 정보를 포함할 수 있다.
이 경우, 제2 전자 장치(100-2)의 제2 프로세서(130-2)는 제2 데이터송수신 모듈(131-2)을 통해, 네트워크 연결이 끊어질 것으로 예측된 기기 A(200-A)에 대한 정보 및 환경 정보를 제2 통신부(110-2)에 의해 수신할 수 있다(도 16의 ③-3', ①-2', ③-4' 및 ①-3').
그리고, 제2 전자 장치(100-2)의 제2 프로세서(130-2)는 예측정보생성 모듈(135)을 통해, 제2 메모리(120-2)에 저장된 제3 인공지능 모델(123)을 로딩하고, 네트워크 연결이 끊어질 것으로 예측된 기기 A(200-A) 및 환경 정보를 제3 인공지능 모델(123)에 입력할 수 있다(도 16의 ⑥'). 그리고, 제2 프로세서(130-2)는 예측정보생성 모듈(135)을 통해 제3 인공지능 모델(123)의 출력에 기초하여 예측된 기기 A(200-A)의 동작 진행 상태에 대한 예측 정보를 획득하고(도 16의 ⑥'), 제2 데이터송수신 모듈(131-2)을 통해 예측 정보를 복수의 기기(200) 중 적어도 하나의 기기로 전송하도록 제2 통신부(110-2)를 제어함으로써 사용자에게 예측 정보를 제공할 수 있다(도 16의 ⑦-1', ⑦-2' 및 ⑦-3').
한편, 제1 및 제2 전자 장치(100-1, 100-2) 각각은 복수의 기기(200)와 별개의 전자 장치 및 복수의 기기(200) 중 적어도 하나의 전자 장치(또는 기기)로 구현될 수 있다. 일 실시 예로서, 제1 전자 장치(100-1)는 서버이고, 제2 전자 장치(100-2)는 복수의 기기(200) 중 하나인 AI 스피커로 구현될 수 있다. 이와 다른 실시 예로서, 제1 전자 장치(100-1)는 제1 서버(예: 클라우드 서버 등)이고, 제2 전자 장치(100-2)는 제2 서버(예: 인공지능 모델 서버 등)로 구현될 수도 있다. 한편, 이는 일 실시 예일 뿐이며, 시스템을 이루는 전자 장치의 수 및 전자 장치의 구성은 다양하게 변형될 수 있다.
도 17a는 본 개시의 일 실시 예에 따른 기기의 하드웨어 구성을 설명하기 위한 블록도이다. 도 17b는 본 개시의 일 실시 예에 따른 기기의 소프트웨어 구성을 설명하기 위한 블록도이다. 여기서, 도 17b는 복수의 모듈이 프로세서(240)에 의해 로딩(또는 실행)되어 프로세서(240)에서 동작되는 상태를 나타낸 것이며, 복수의 모듈은 메모리(230)에 저장되어 있을 수 있다.
전술한 바와 같이 복수의 기기(200) 각각은 기기의 사용 용도에 따라 다양한 구성을 갖도록 구현될 수 있으나, 이하에서는 도 17a 및 도 17b을 참조하여 본 개시의 일 실시 예에 따른 복수의 기기(200)에 포함된 기기(200')에 대해 설명하기로 한다.
도 17a를 참조하면, 기기(200')는 통신부(210), 센서(220), 메모리(230) 및 프로세서(240)를 포함할 수 있다.
통신부(210)는 전자 장치(100)와 통신을 수행하여, 다양한 정보(또는 데이터)를 송수신할 수 있는 하드웨어 구성을 지칭할 수 있으며, 특별한 사정이 없는 한 전자 장치(100)의 통신부(110)에서 설명한 내용이 동일하게 적용될 수 있다는 점에서 구체적인 내용은 생략하기로 한다.
센서(220)는 기기(200')의 내부 환경의 정보 또는 외부 환경의 정보(이하, 기기(200')의 환경 정보)를 획득할 수 있는 하드웨어 구성을 지칭할 수 있다.
센서(220)는 TOF(Time Of Flight) 센서(미도시), 열감지 센서(미도시), 카메라(미도시), 모션 센서(미도시), GPS(미도시), 조도 센서(미도시) 및 통신 센서(미도시) 중 적어도 하나를 포함할 수 있다.
TOF 센서는 펄스(pulse)를 방사하고 오브젝트에 의해 반사되어 되돌아오는 신호를 수신하여 수신된 신호의 세기, 시간, 파장에 따른 흡수차, 파장 이동 등을 측정함으로써 오브젝트와의 거리(또는 위치) 및 오브젝트의 크기를 측정할 수 있다. 이때, 펄스는 레이저(Laser), 초음파(Ultrasonic Waves), 적외선(Infrared Ray; IR) 등 다양한 방식의 펄스가 사용될 수 있다. 열감지 센서는 열복사(또는 광자)에 따라 오브젝트의 온도 또는 주변 환경의 온도(예: 실내 온도 등)를 감지할 수 있다. 이때, 열감지 센서는 적외선 카메라 등으로 구현될 수 있다. 카메라는 기기(200')의 주변 환경을 촬상하여 이미지를 획득할 수 있다. 이 경우 카메라에 구비된 이미지 프로세서(미도시) 또는 프로세서(240)에 의해 다양한 이미지 분석 알고리즘이 이용하여 이미지를 분석함으로써, 기기(200')의 주변 환경을 감지할 수 있다. 모션 센서는 기기(200')의 이동 거리, 이동 방향, 기울기 등을 감지할 수 있다. 이를 위해, 모션 센서는 가속도 센서, 자이로(gyro) 센서, 지자기 센서 등의 결합으로 구현될 수 있다. 조도 센서는 주변 환경에 대한 광량(또는 밝기)을 감지할 수 있다. 통신 센서는 통신부(210)를 통해 수신된 무선 신호의 RSSI(Received Signal Strength Indication), 복수의 기기(200) 중 기기(200') 주변의 기기와 네트워크 연결이 가능한 통신 방식(예: Bluetooth, NFC 등), 수신 감도 및 주파수 대역 중 적어도 하나를 감지할 수 있다. 이를 위해, 통신 센서는 NFC, WiFi, Bluetooth, LTE, 5G 등의 다양한 통신 방식의 무선 신호를 감지하기 위한 회로로 구성될 수 있다.
한편, 기기(200')의 환경 정보는 프로세서(240)에 의해 획득될 수도 있다. 예를 들어, 기기(200')가 수행하는 동작, 동작의 완료율(예: 백분율 단위), 동작을 진행한 시간, 동작을 시작한 시간, 동작이 완료될 시간 등은 프로세서(240)에 의해 획득될 수도 있다. 또한 기기(200')의 환경 정보는 메모리(230)에 기저장될 수도 있다. 예를 들어 기기의 식별 정보(예: 기기의 이름, 모델 번호, 시리얼 번호, IMEI(Intel Management Engine Interface) 등), 기기의 네트워크 주소(예: Mac(Media Access Control) 주소, IP(Internet Protocol) 주소 등), 기기가 수행할 수 있는 통신 방식 등은 메모리(230)에 기저장될 수도 있다.
메모리(230)는 프로세서(240) 등이 접근할 수 있도록 데이터 또는 정보를 전기 또는 자기 형태로 저장하는 하드웨어를 지칭할 수 있으며, 특별한 사정이 없는 한 전자 장치(100)의 메모리(120)에서 설명한 내용이 동일하게 적용될 수 있다는 점에서 구체적인 내용은 생략하기로 한다.
프로세서(240)는 기기(200')의 전반적인 동작을 제어할 수 있다.
프로세서(240)는 기기(200')의 환경 정보를 획득할 수 있다. 예를 들어, 프로세서(240)는 센서(220)를 통해 기기(200')의 환경 정보를 기설정된 시간에 따라 주기적으로 획득할 수 있다. 또한, 프로세서(240)는 데이터를 처리함으로써(예: 현재 진행중인 동작이 완료되기까지 남은 시간을 산출하는 등) 기기(200')의 환경 정보를 획득할 수도 있다.
이 경우, 프로세서(240)는 기기(200')의 환경 정보를 전자 장치(100)로 전송하도록 통신부(210)를 제어할 수 있다.
한편, 프로세서(240)는 전자 장치(100)에 의해 제어될 수 있다. 구체적으로, 프로세서(240)는 통신부(210)를 통해 전자 장치(100)로부터 제어 명령이 수신되면, 제어 명령에 대응되는 동작을 수행할 수 있다. 여기서, 제어 명령에 대응되는 동작은 기기(200')의 종류에 따라 달라질 수 있다. 예를 들어, 기기(200')가 전자 레인지인 경우 제어 명령에 대응되는 동작은 조리 모드, 해동 모드, 절전 모드 등이 될 수 있으며, 기기(200')가 로봇 청소기인 경우 제어 명령에 대응되는 동작은 자동 청소, 구간 청소, 절전 모드 등이 될 수 있다.
한편, 프로세서(240)는 통신부(210)를 통해 전자 장치(100)로부터 연결 정보가 수신되면, 연결 정보에 기초하여 복수의 기기(200) 중 다른 기기(중계 기기)를 통해 전자 장치(100)와 네트워크 연결을 유지하도록 통신부(210)를 제어할 수 있다.
여기서, 연결 정보는 기기(200')가 복수의 기기(200) 중 다른 기기와 네트워크 연결을 하기 위해 필요한 정보로서, 네트워크 연결의 대상이 되는 다른 기기의 네트워크 주소(예: Mac 주소, IP 주소 등), 네트워크 연결의 통신 방식(예: Wi-Fi, Bluetooth, ZigBee, NFC 등)을 포함할 수 있다. 한편, 연결 정보에 포함된 다른 기기는 복수의 기기일 수 있다. 이 경우, 복수의 기기 각각에 대한 우선 순위가 기할당될 수 있으며, 프로세서(240)는 우선 순위에 따른 순서로 복수의 기기와 네트워크 연결을 수행하도록 통신부(210)를 제어할 수 있다.
한편, 프로세서(240)는 전자 장치(100)와의 네트워크 연결이 끊어진 동안 기기(200')의 환경 정보를 기설정된 시간에 따라 주기적으로 획득하여 메모리(230)에 저장할 수 있다. 이후, 프로세서(240)는 전자 장치(100)와의 네트워크 연결이 재개되면, 메모리(230)에 저장된 기기(200')의 환경 정보를 전자 장치(100)로 전송하도록 통신부(210)를 제어할 수 있다.
도 17b를 참조하면, 프로세서(240)는 환경정보수집 모듈(242)을 통해 주기적으로 센서(220)에 의해 획득된 환경 정보에 액세스하고 메모리(230)에 저장할 수 있다(도 17b의 ①-1 및 ①-2).
한편, 이는 일 실시 예일 뿐이며, 프로세서(240)는 환경정보수집 모듈(242)을 통해 센서(220)에 의해 획득된 환경 정보에 액세스하고 메모리(230)에 저장하지 않고 환경 정보를 데이터송수신 모듈(241)로 전달할 수도 있다.
그리고, 프로세서(240)는 환경정보수집 모듈(242)을 통해 수집된 환경 정보를 데이터송수신 모듈(241)로 전달하고(도 17b의 ①-3), 데이터송수신 모듈(241)을 통해 환경 정보가 전자 장치(100)로 전송되도록 통신부(210)를 제어할 수 있다(도 17b의 ①-4 및 ①-5).
한편, 프로세서(240)는 환경정보수집 모듈(242)을 통해 전자 장치(100)와의 네트워크 연결이 끊어진 동안 기기(200')의 환경 정보를 메모리(230)에 저장할 수 있다. 이후, 프로세서(240)는 전자 장치(100)와의 네트워크 연결이 재개되면, 데이터송수신 모듈(241)을 통해 메모리(230)에 저장된 기기(200')의 환경 정보를 전자 장치(100)로 전송하도록 통신부(210)를 제어할 수 있다.
한편, 프로세서(240)는 데이터송수신 모듈(241)을 통해 통신부(210)에 의해 전자 장치(100)로부터 연결 정보를 수신할 수 있다(도 17b의 ②-1 및 ②-2).
그리고, 프로세서(240)는 연결 모듈(243)을 통해, 데이터송수신 모듈(241)에서 수신된 연결 정보에 포함된 기기에 대한 정보에 대응되는 기기(예: 기기 B(200-B))와 연결 정보에 포함된 통신 방식에 따라 네트워크 연결을 수행하도록 통신부(210)를 제어할 수 있다(도 17b의 ②-3 및 ②-4). 여기서, 연결 정보에 포함된 다른 기기가 복수의 기기인 경우, 프로세서(240)는 복수의 기기 각각에 할당된 우선 순위에 따른 순서로 복수의 기기와 연결 정보에 포함된 통신 방식에 따라 네트워크 연결을 수행하도록 통신부(210)를 제어할 수 있다.
그리고, 프로세서(240)는 환경정보수집 모듈(242)을 통해 획득된 환경 정보(예: 동작 진행 상태)를 데이터송수신 모듈(241)로 전달하고, 데이터송수신 모듈(241)을 통해 환경 정보를 기기 B(200-B)로 전송하도록 통신부(210)를 제어할 수 있다.
본 개시의 다양한 실시 예들은 기기(machine)(예: 컴퓨터)로 읽을 수 있는 저장 매체(machine-readable storage media에 저장된 명령어를 포함하는 소프트웨어로 구현될 수 있다. 기기는 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 동작이 가능한 장치로서, 개시된 실시 예들에 따른 전자 장치(예: 전자 장치(100))를 포함할 수 있다. 상기 명령이 프로세서에 의해 실행될 경우, 프로세서가 직접, 또는 상기 프로세서의 제어 하에 다른 구성요소들을 이용하여 상기 명령에 상기하는 기능을 수행할 수 있다. 명령은 컴파일러 또는 인터프리터에 의해 생성 또는 실행되는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체는 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장매체가 신호(signal)를 포함하지 않으며 실재(tangible)한다는 것을 의미할 뿐 데이터가 저장매체에 반영구적 또는 임시적으로 저장됨을 구분하지 않는다.
다양한 실시 예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 온라인으로 배포될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시 예들에 따른 구성 요소(예: 모듈 또는 프로그램) 각각은 단수 또는 복수의 개체로 구성될 수 있으며, 전술한 상기 서브 구성 요소들 중 일부 서브 구성 요소가 생략되거나, 또는 다른 서브 구성 요소가 다양한 실시 예에 더 포함될 수 있다. 대체적으로 또는 추가적으로, 일부 구성 요소들(예: 모듈 또는 프로그램)은 하나의 개체로 통합되어, 통합되기 이전의 각각의 상기 구성 요소에 의해 수행되는 기능을 동일 또는 유사하게 수행할 수 있다. 다양한 실시 예들에 따른, 모듈, 프로그램 또는 다른 구성 요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
100: 전자 장치
200: 복수의 기기
300: 브릿지 장치

Claims (20)

  1. 전자 장치에 있어서,
    통신부;
    상기 전자 장치와 네트워크 연결이 끊어질 기기를 예측하도록 학습된 제1 인공지능 모델이 저장된 메모리; 및
    상기 전자 장치와 네트워크 연결된 복수의 기기 중 적어도 하나로부터 상기 통신부를 통해 수신된 정보를 상기 제1 인공지능 모델에 입력하고,
    상기 제1 인공지능 모델의 출력에 기초하여 상기 복수의 기기 중 하나의 네트워크 연결이 끊어질 것으로 예측되면, 상기 복수의 기기 중 다른 하나를 통해 상기 예측된 기기의 네트워크 연결이 유지되도록 하는 프로세서;를 포함하는 전자 장치.
  2. 제1항에 있어서,
    상기 프로세서는,
    상기 예측된 기기에서 획득된 정보를 상기 다른 하나의 기기로 전송하도록 하는 제어 신호를 상기 통신부를 통해 상기 예측된 기기로 전송하고,
    상기 예측된 기기로부터 수신된 정보를 상기 전자 장치로 전송하도록 하는 제어 신호를 상기 통신부를 통해 상기 다른 하나의 기기로 전송하는, 전자 장치.
  3. 제2항에 있어서,
    상기 프로세서는,
    상기 예측된 기기와 상기 전자 장치 간 네트워크 연결이 끊어지면, 상기 예측된 기기에서 획득된 정보를 상기 통신부를 통해 상기 다른 하나의 기기로부터 수신하는, 전자 장치.
  4. 제1항에 있어서,
    상기 제1 인공지능 모델은,
    상기 전자 장치와 네트워크 연결된 상기 복수의 기기 중 상기 전자 장치와 네트워크 연결이 끊어진 기기의 정보 및 상기 네트워크 연결이 끊어진 시점을 포함하는 시간 동안에서의 상기 복수의 기기의 정보를 포함하는 학습 데이터에 기초하여 학습된 모델인, 전자 장치.
  5. 제1항에 있어서,
    상기 메모리는, 상기 전자 장치와 네트워크 연결된 상기 복수의 기기 중 상기 다른 하나의 기기를 식별하도록 학습된 제2 인공지능 모델을 더 저장하며,
    상기 프로세서는,
    상기 수신된 각 기기의 정보를 상기 제2 인공지능 모델에 입력하고, 상기 제2 인공지능 모델의 출력에 기초하여 상기 다른 하나의 기기를 식별하는, 전자 장치.
  6. 제5항에 있어서,
    상기 제2 인공지능 모델은,
    상기 식별된 기기와 상기 복수의 기기 중 상기 식별된 기기 주변에 위치하는 적어도 하나의 기기 간의 네트워크 연결을 위한 통신 상태에 대한 정보 및 상기 네트워크 연결이 되는 시점을 포함하는 시간 동안 획득된 상기 복수의 기기의 정보를 포함하는 학습 데이터에 기초하여 학습된 모델인, 전자 장치.
  7. 제1항에 있어서,
    상기 메모리는, 상기 복수의 기기 각각의 동작 진행 상태를 예측하도록 학습된 제3 인공지능 모델을 더 포함하며,
    상기 프로세서는,
    상기 다른 하나의 기기가 식별되지 않는 경우, 상기 예측된 기기의 현재까지의 동작 진행 상태와 관련된 정보를 상기 제3 인공지능 모델에 입력하여 상기 예측된 기기의 이후 동작 진행 상태에 대한 예측 정보를 획득하고, 상기 획득된 예측 정보를 상기 복수의 기기 중 적어도 하나로 전송하도록 상기 통신부를 제어하는, 전자 장치.
  8. 제7항에 있어서,
    상기 프로세서는,
    상기 예측된 기기와 상기 전자 장치 간 네트워크 연결이 끊어진 후 네트워크 연결이 재개되면, 상기 네트워크 연결이 끊어진 시간 동안 상기 예측된 기기의 동작 진행 상태와 관련된 정보를 상기 통신부를 통해 상기 예측된 기기로부터 수신하고, 상기 수신된 정보에 기초하여 상기 제3 인공지능 모델을 학습하는, 전자 장치.
  9. 제1항에 있어서,
    상기 복수의 전자 장치와 상기 전자 장치 간의 통신 방식은, 상기 예측된 기기와 상기 다른 하나의 기기 간의 통신 방식과 상이한, 전자 장치.
  10. 제1항에 있어서,
    상기 복수의 기기 각각의 정보는,
    기기의 동작 진행 상태, 기기의 네트워크 연결과 관련된 정보 및 기기의 주변 환경과 관련된 정보 중 적어도 하나를 포함하는, 전자 장치.
  11. 전자 장치의 제어 방법에 있어서,
    상기 전자 장치와 네트워크 연결된 복수의 기기 중 적어도 하나로부터 수신된 정보를 상기 전자 장치와 네트워크 연결이 끊어질 기기를 예측하도록 학습된 제1 인공지능 모델에 입력하는 단계; 및
    상기 제1 인공지능 모델의 출력에 기초하여 상기 복수의 기기 중 하나의 네트워크 연결이 끊어질 것으로 예측되면, 상기 복수의 기기 중 다른 하나를 통해 상기 예측된 기기의 네트워크 연결이 유지되도록 상기 예측된 기기를 제어하는 단계;를 포함하는 제어 방법.
  12. 제11항에 있어서,
    상기 제어하는 단계는,
    상기 예측된 기기에서 획득된 정보를 상기 다른 하나의 기기로 전송하도록 하는 제어 신호를 상기 예측된 기기로 전송하고,
    상기 예측된 기기로부터 수신된 정보를 상기 전자 장치로 전송하도록 하는 제어 신호를 상기 다른 하나의 기기로 전송하는 것을 포함하는, 제어 방법.
  13. 제12항에 있어서,
    상기 제어하는 단계는,
    상기 예측된 기기와 상기 전자 장치 간 네트워크 연결이 끊어지면, 상기 예측된 기기에서 획득된 정보를 상기 다른 하나의 기기로부터 수신하는 것을 포함하는, 제어 방법.
  14. 제11항에 있어서,
    상기 제1 인공지능 모델은,
    상기 전자 장치와 네트워크 연결된 상기 복수의 기기 중 상기 전자 장치와 네트워크 연결이 끊어진 기기의 정보 및 상기 네트워크 연결이 끊어진 시점을 포함하는 시간 동안에서의 상기 복수의 기기의 정보를 포함하는 학습 데이터에 기초하여 학습된 모델인, 제어 방법.
  15. 제11항에 있어서,
    상기 제어하는 단계는,
    상기 수신된 각 기기의 정보를 상기 전자 장치와 네트워크 연결된 상기 복수의 기기 중 상기 다른 하나의 기기를 식별하도록 학습된 제2 인공지능 모델에 입력하는 단계; 및
    상기 제2 인공지능 모델의 출력에 기초하여 상기 다른 하나의 기기를 식별하는 단계를 포함하는, 제어 방법.
  16. 제15항에 있어서,
    상기 제2 인공지능 모델은,
    상기 식별된 기기와 상기 복수의 기기 중 상기 식별된 기기 주변에 위치하는 적어도 하나의 기기 간의 네트워크 연결을 위한 통신 상태에 대한 정보 및 상기 네트워크 연결이 되는 시점을 포함하는 시간 동안 획득된 상기 복수의 기기의 정보를 포함하는 학습 데이터에 기초하여 학습된 모델인, 제어 방법.
  17. 제11항에 있어서,
    상기 다른 하나의 기기가 식별되지 않는 경우, 상기 예측된 기기의 현재까지의 동작 진행 상태와 관련된 정보를 상기 복수의 기기 각각의 동작 진행 상태를 예측하도록 학습된 제3 인공지능 모델에 입력하여 상기 예측된 기기의 이후 동작 진행 상태에 대한 예측 정보를 획득하는 단계; 및
    상기 획득된 예측 정보를 상기 복수의 기기 중 적어도 하나로 전송하는 단계;를 더 포함하는, 제어 방법.
  18. 제17항에 있어서,
    상기 예측된 기기와 상기 전자 장치 간 네트워크 연결이 끊어진 후 네트워크 연결이 재개되면, 상기 네트워크 연결이 끊어진 시간 동안 상기 예측된 기기의 동작 진행 상태와 관련된 정보를 상기 예측된 기기로부터 수신하는 단계; 및
    상기 수신된 정보에 기초하여 상기 제3 인공지능 모델을 학습하는 단계;를 더 포함하는, 제어 방법.
  19. 제11항에 있어서,
    상기 복수의 전자 장치와 상기 전자 장치 간의 통신 방식은, 상기 예측된 기기와 상기 다른 하나의 기기 간의 통신 방식과 상이한, 제어 방법.
  20. 제11항에 있어서,
    상기 복수의 기기 각각의 정보는,
    기기의 동작 진행 상태, 기기의 네트워크 연결과 관련된 정보 및 기기의 주변 환경과 관련된 정보 중 적어도 하나를 포함하는, 제어 방법.
KR1020190124702A 2019-10-08 2019-10-08 네트워크 연결을 관리하는 전자 장치 및 그의 제어 방법 KR20210041904A (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020190124702A KR20210041904A (ko) 2019-10-08 2019-10-08 네트워크 연결을 관리하는 전자 장치 및 그의 제어 방법
US16/806,098 US11606830B2 (en) 2019-10-08 2020-03-02 Electronic apparatus for managing network connection and control method thereof
PCT/KR2020/004907 WO2021071037A1 (en) 2019-10-08 2020-04-10 Electronic apparatus for managing network connection and control method thereof
EP20875289.9A EP3981115A4 (en) 2019-10-08 2020-04-10 ELECTRONIC DEVICE FOR MANAGING A NETWORK CONNECTION AND CONTROL METHOD THEREOF

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190124702A KR20210041904A (ko) 2019-10-08 2019-10-08 네트워크 연결을 관리하는 전자 장치 및 그의 제어 방법

Publications (1)

Publication Number Publication Date
KR20210041904A true KR20210041904A (ko) 2021-04-16

Family

ID=75275129

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190124702A KR20210041904A (ko) 2019-10-08 2019-10-08 네트워크 연결을 관리하는 전자 장치 및 그의 제어 방법

Country Status (4)

Country Link
US (1) US11606830B2 (ko)
EP (1) EP3981115A4 (ko)
KR (1) KR20210041904A (ko)
WO (1) WO2021071037A1 (ko)

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001136173A (ja) 1999-11-02 2001-05-18 Matsushita Electric Ind Co Ltd 無線ホームネットワークの通信方法および無線ホームネットワークシステム
JP4026770B2 (ja) 2004-02-06 2007-12-26 Kddi株式会社 マルチホップ無線ネットワークの経路更新方法および無線端末
KR20060133928A (ko) 2006-10-20 2006-12-27 유명식 애드 혹 무선 네트워크에서의 안정성 인지를 기반으로 하는라우팅 알고리즘 기법
KR100898339B1 (ko) 2007-10-05 2009-05-20 한국전자통신연구원 홈 네트워크 환경을 위한 자율적인 오류 처리 시스템 및 그방법
KR101010217B1 (ko) 2007-12-11 2011-01-21 한국전자통신연구원 홈네트워크 시스템 및 그의 운영방법
US8570993B2 (en) 2010-05-20 2013-10-29 At&T Mobility Ii Llc Wi-Fi intelligent selection engine
BR112015000810A2 (pt) 2012-07-13 2018-05-29 Adaptive Spectrum And Signal Alignment, Inc. método e sistema para estimativa de desempenho de um link de comunicação
US9191209B2 (en) 2013-06-25 2015-11-17 Google Inc. Efficient communication for devices of a home network
US9451473B2 (en) 2014-04-08 2016-09-20 Cellco Partnership Analyzing and forecasting network traffic
US10789542B2 (en) * 2015-06-05 2020-09-29 Apple Inc. System and method for predicting changes in network quality
US9572080B1 (en) 2015-11-30 2017-02-14 Honeywell International Inc. Systems and methods for vehicle connectivity continuity
KR101757878B1 (ko) * 2015-12-10 2017-07-14 삼성전자주식회사 컨텐츠 처리장치, 그의 컨텐츠 처리방법, 서버, 서버의 정보 제공방법 및 정보제공 시스템
KR101768654B1 (ko) 2016-01-20 2017-08-17 울산과학기술원 전자 기기의 고장 예측 장치 및 이를 이용한 고장 예측 방법
US20170264501A1 (en) * 2016-03-14 2017-09-14 Catalina Labs, Inc. System and method for generating advice for improving internet and wifi performance in a network using machine-learning techniques
WO2017177128A1 (en) 2016-04-08 2017-10-12 The Trustees Of Columbia University In The City Of New York Systems and methods for deep reinforcement learning using a brain-artificial intelligence interface
KR20170130817A (ko) 2016-05-19 2017-11-29 주식회사 엘지유플러스 이중 구조를 가지는 네트워크 장치의 동작 방법 및 그 장치
KR101834831B1 (ko) * 2016-08-26 2018-03-06 가온미디어 주식회사 멀티 룸 환경에서 이종의 무선 미디어 서비스를 제공하기 위한 무선 홈 네트워크 시스템
US11873005B2 (en) * 2017-05-18 2024-01-16 Driveu Tech Ltd. Device, system, and method of wireless multiple-link vehicular communication
US20190090246A1 (en) 2017-09-21 2019-03-21 Tube Incorporated System and method for granting available network capacity to mobile devices
BR112020007616A2 (pt) 2017-10-16 2021-03-09 Richard Mei Sistema de monitoramento de condutor de cabo e método de monitoramento de condutores de cabo
US10708834B2 (en) * 2017-11-30 2020-07-07 Google Llc Carrier switching
US10602383B1 (en) * 2018-10-15 2020-03-24 Microsoft Technology Licensing Llc Application of machine learning for building predictive models enabling smart fail over between different network media types

Also Published As

Publication number Publication date
US20210105848A1 (en) 2021-04-08
US11606830B2 (en) 2023-03-14
WO2021071037A1 (en) 2021-04-15
EP3981115A4 (en) 2022-08-03
EP3981115A1 (en) 2022-04-13

Similar Documents

Publication Publication Date Title
KR102553299B1 (ko) 데이터 학습 서버 및 이의 학습 모델 생성 및 이용 방법
US10909982B2 (en) Electronic apparatus for processing user utterance and controlling method thereof
CN108304758B (zh) 人脸特征点跟踪方法及装置
US11042703B2 (en) Method and device for generating natural language expression by using framework
US11353218B2 (en) Integrated management method and system for kitchen environment using artificial intelligence
US11449672B2 (en) Method for operating speech recognition service and electronic device and server for supporting the same
US11029743B2 (en) Information processing device and information processing method
US10936918B2 (en) Electronic device and method for controlling the electronic device to provide output information of event based on context
US20210165377A1 (en) Method for controlling commercial washing machine by using artificial intelligence and system for the same
KR20200047205A (ko) 전자 장치 및 이의 제어 방법
WO2018011892A1 (ja) 機器制御システム
CN112788583B (zh) 设备寻找方法、装置、存储介质及电子设备
KR20210077916A (ko) 인공 지능을 이용한 가전 기기의 통합 제어 방법 및 그 시스템
EP4029417A1 (en) Method for controlling cooker by using artificial intelligence and system therefor
US20230289232A1 (en) Electronic apparatus and controlling method thereof
CN111340286B (zh) 机器人调度方法、装置、电子设备以及存储介质
US20180320915A1 (en) Information processing device, electronic apparatus, method, and program
US20210035309A1 (en) Electronic device and control method therefor
CN114615319A (zh) 电子设备及控制该电子设备的方法
KR20210041904A (ko) 네트워크 연결을 관리하는 전자 장치 및 그의 제어 방법
US11418607B2 (en) Server apparatus and controlling method thereof
US20220040844A1 (en) Information processing apparatus, information processing method and computer program
KR102613227B1 (ko) 빅데이터 및 머신 러닝에 기반한 농업용 저수지 이수 안전도 평가를 위한 전자 장치 및 전자 장치의 제어 방법
EP4099317A1 (en) Information processing device and information processing method
US20240005648A1 (en) Selective knowledge distillation

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal